Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorassarbad <assarbad@users.noreply.github.com>2021-07-16 01:00:19 +0300
committerassarbad <assarbad@users.noreply.github.com>2021-07-16 01:00:19 +0300
commit96e050fe85aa3dbb860053ab3d581fb6b1e54f02 (patch)
treef353c15c203bb75673938a780dfa219c63d61a7c
parent8c45d7272c429a2c1992cced73ce3356fd7520b9 (diff)
Deploying to gh-pages from @ 565f27555d13ce2a37346d838f32e03e1972aac1 🚀gh-pages
-rw-r--r--annotated.html246
-rw-r--r--async__file__handle_8hpp.html172
-rw-r--r--async__file__handle_8hpp.js19
-rw-r--r--atomic__append_8hpp.html27
-rw-r--r--base_8hpp.html27
-rw-r--r--byte__ranges_8hpp.html27
-rw-r--r--cached__parent_8hpp.html29
-rw-r--r--classes.html249
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store-members.html22
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store.html34
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store.js4
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction-members.html22
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html36
-rw-r--r--classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html26
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter-members.html24
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html65
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html321
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html28
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html28
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html140
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html28
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html36
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1trivial__vector-members.html22
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html26
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.js20
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle-members.html239
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle.html2381
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle.js113
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle.pngbin1742 -> 0 bytes
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html138
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.js7
-rw-r--r--classllfio__v2__xxx_1_1awaitable__handle-members.html163
-rw-r--r--classllfio__v2__xxx_1_1awaitable__handle.html752
-rw-r--r--classllfio__v2__xxx_1_1awaitable__handle.js78
-rw-r--r--classllfio__v2__xxx_1_1awaitable__handle.pngbin0 -> 900 bytes
-rw-r--r--classllfio__v2__xxx_1_1directory__handle-members.html160
-rw-r--r--classllfio__v2__xxx_1_1directory__handle.html684
-rw-r--r--classllfio__v2__xxx_1_1directory__handle.js38
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group-members.html116
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group.html304
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group.js13
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item-members.html124
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html289
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.js19
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.pngbin0 -> 1244 bytes
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item-members.html117
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html274
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.js17
-rw-r--r--classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.pngbin0 -> 1241 bytes
-rw-r--r--classllfio__v2__xxx_1_1error-members.html22
-rw-r--r--classllfio__v2__xxx_1_1error.html26
-rw-r--r--classllfio__v2__xxx_1_1executor-members.html (renamed from classllfio__v2__xxx_1_1async__file__handle_1_1awaitable-members.html)32
-rw-r--r--classllfio__v2__xxx_1_1executor.html (renamed from unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html)56
-rw-r--r--classllfio__v2__xxx_1_1executor.js5
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle-members.html227
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle.html1586
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle.js120
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle.pngbin1851 -> 2346 bytes
-rw-r--r--classllfio__v2__xxx_1_1file__handle-members.html225
-rw-r--r--classllfio__v2__xxx_1_1file__handle.html1537
-rw-r--r--classllfio__v2__xxx_1_1file__handle.js122
-rw-r--r--classllfio__v2__xxx_1_1file__handle.pngbin2478 -> 2529 bytes
-rw-r--r--classllfio__v2__xxx_1_1file__handle_1_1extent__guard-members.html115
-rw-r--r--classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html172
-rw-r--r--classllfio__v2__xxx_1_1file__handle_1_1extent__guard.js17
-rw-r--r--classllfio__v2__xxx_1_1fs__handle-members.html55
-rw-r--r--classllfio__v2__xxx_1_1fs__handle.html219
-rw-r--r--classllfio__v2__xxx_1_1fs__handle.js17
-rw-r--r--classllfio__v2__xxx_1_1fs__handle.pngbin2235 -> 2441 bytes
-rw-r--r--classllfio__v2__xxx_1_1handle-members.html46
-rw-r--r--classllfio__v2__xxx_1_1handle.html269
-rw-r--r--classllfio__v2__xxx_1_1handle.js7
-rw-r--r--classllfio__v2__xxx_1_1handle.pngbin4014 -> 7464 bytes
-rw-r--r--classllfio__v2__xxx_1_1io__handle-members.html159
-rw-r--r--classllfio__v2__xxx_1_1io__handle.html858
-rw-r--r--classllfio__v2__xxx_1_1io__handle.js77
-rw-r--r--classllfio__v2__xxx_1_1io__handle.pngbin2517 -> 3083 bytes
-rw-r--r--classllfio__v2__xxx_1_1io__multiplexer-members.html184
-rw-r--r--classllfio__v2__xxx_1_1io__multiplexer.html882
-rw-r--r--classllfio__v2__xxx_1_1io__multiplexer.js92
-rw-r--r--classllfio__v2__xxx_1_1io__multiplexer.pngbin0 -> 638 bytes
-rw-r--r--classllfio__v2__xxx_1_1io__service-members.html127
-rw-r--r--classllfio__v2__xxx_1_1io__service.html386
-rw-r--r--classllfio__v2__xxx_1_1io__service.js28
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle-members.html227
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle.html1481
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle.js112
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle.pngbin0 -> 2818 bytes
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard-members.html117
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html174
-rw-r--r--classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.js17
-rw-r--r--classllfio__v2__xxx_1_1log__level__guard-members.html22
-rw-r--r--classllfio__v2__xxx_1_1log__level__guard.html26
-rw-r--r--classllfio__v2__xxx_1_1map__handle-members.html191
-rw-r--r--classllfio__v2__xxx_1_1map__handle.html1337
-rw-r--r--classllfio__v2__xxx_1_1map__handle.js85
-rw-r--r--classllfio__v2__xxx_1_1map__handle.pngbin897 -> 1287 bytes
-rw-r--r--classllfio__v2__xxx_1_1mapped-members.html63
-rw-r--r--classllfio__v2__xxx_1_1mapped.html158
-rw-r--r--classllfio__v2__xxx_1_1mapped.js3
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle-members.html280
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.html1905
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.js127
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.pngbin1780 -> 2249 bytes
-rw-r--r--classllfio__v2__xxx_1_1path__handle-members.html119
-rw-r--r--classllfio__v2__xxx_1_1path__handle.html284
-rw-r--r--classllfio__v2__xxx_1_1path__handle.js17
-rw-r--r--classllfio__v2__xxx_1_1path__view-members.html161
-rw-r--r--classllfio__v2__xxx_1_1path__view.html799
-rw-r--r--classllfio__v2__xxx_1_1path__view.js85
-rw-r--r--classllfio__v2__xxx_1_1path__view.pngbin0 -> 754 bytes
-rw-r--r--classllfio__v2__xxx_1_1path__view__component-members.html85
-rw-r--r--classllfio__v2__xxx_1_1path__view__component.html654
-rw-r--r--classllfio__v2__xxx_1_1path__view__component.js49
-rw-r--r--classllfio__v2__xxx_1_1path__view__component.pngbin0 -> 762 bytes
-rw-r--r--classllfio__v2__xxx_1_1pipe__handle-members.html257
-rw-r--r--classllfio__v2__xxx_1_1pipe__handle.html1798
-rw-r--r--classllfio__v2__xxx_1_1pipe__handle.js129
-rw-r--r--classllfio__v2__xxx_1_1pipe__handle.pngbin0 -> 1223 bytes
-rw-r--r--classllfio__v2__xxx_1_1process__handle-members.html178
-rw-r--r--classllfio__v2__xxx_1_1process__handle.html919
-rw-r--r--classllfio__v2__xxx_1_1process__handle.js91
-rw-r--r--classllfio__v2__xxx_1_1process__handle.pngbin0 -> 662 bytes
-rw-r--r--classllfio__v2__xxx_1_1read__receiver-members.html110
-rw-r--r--classllfio__v2__xxx_1_1read__receiver.html153
-rw-r--r--classllfio__v2__xxx_1_1read__receiver.js10
-rw-r--r--classllfio__v2__xxx_1_1section__handle-members.html73
-rw-r--r--classllfio__v2__xxx_1_1section__handle.html233
-rw-r--r--classllfio__v2__xxx_1_1section__handle.js12
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle-members.html125
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle.html545
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle.js28
-rw-r--r--classllfio__v2__xxx_1_1unique__file__lock-members.html120
-rw-r--r--classllfio__v2__xxx_1_1unique__file__lock.html173
-rw-r--r--classllfio__v2__xxx_1_1unique__file__lock.js20
-rw-r--r--classllfio__v2__xxx_1_1utils_1_1page__allocator-members.html22
-rw-r--r--classllfio__v2__xxx_1_1utils_1_1page__allocator.html28
-rw-r--r--classllfio__v2__xxx_1_1utils_1_1page__allocator.js2
-rw-r--r--classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html22
-rw-r--r--classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html26
-rw-r--r--classllfio__v2__xxx_1_1write__receiver-members.html110
-rw-r--r--classllfio__v2__xxx_1_1write__receiver.html153
-rw-r--r--classllfio__v2__xxx_1_1write__receiver.js10
-rw-r--r--clone_8hpp.html124
-rw-r--r--clone_8hpp.js4
-rw-r--r--combining_8hpp.html25
-rw-r--r--config_8hpp.html49
-rw-r--r--config_8hpp.js6
-rw-r--r--contents_8hpp.html137
-rw-r--r--contents_8hpp.js7
-rw-r--r--deadline_8h.html204
-rw-r--r--deadline_8h.js6
-rw-r--r--dir_1bdb7a6f6f947180459b1da442728237.html25
-rw-r--r--dir_2e3f7bf739bad988e6850471c071ba11.html33
-rw-r--r--dir_2e3f7bf739bad988e6850471c071ba11.js5
-rw-r--r--dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html24
-rw-r--r--dir_c1befcc047da237f65397416de160f2e.html23
-rw-r--r--dir_d44c64559bbebec7f509842c48db8b23.html22
-rw-r--r--dir_e5b117e9e5b89263e91174673bb00c84.html28
-rw-r--r--dir_ff8d8ad368a820031e12dd9b12d79036.html55
-rw-r--r--dir_ff8d8ad368a820031e12dd9b12d79036.js13
-rw-r--r--directory__handle_8hpp.html29
-rw-r--r--directory__handle_8hpp.js6
-rw-r--r--doxygen.css303
-rw-r--r--dynsections.js27
-rw-r--r--fast__random__file__handle_8hpp.html25
-rw-r--r--file__handle_8hpp.html51
-rw-r--r--file__handle_8hpp.js6
-rw-r--r--files.html100
-rw-r--r--files_dup.js (renamed from files.js)2
-rw-r--r--fs__handle_8hpp.html41
-rw-r--r--fs__handle_8hpp.js7
-rw-r--r--functions.html54
-rw-r--r--functions_a.html75
-rw-r--r--functions_b.html65
-rw-r--r--functions_c.html140
-rw-r--r--functions_d.html77
-rw-r--r--functions_dup.js3
-rw-r--r--functions_e.html62
-rw-r--r--functions_enum.html34
-rw-r--r--functions_eval.html149
-rw-r--r--functions_f.html65
-rw-r--r--functions_func.html54
-rw-r--r--functions_func.js3
-rw-r--r--functions_func_a.html67
-rw-r--r--functions_func_b.html46
-rw-r--r--functions_func_c.html100
-rw-r--r--functions_func_d.html50
-rw-r--r--functions_func_e.html62
-rw-r--r--functions_func_f.html34
-rw-r--r--functions_func_g.html113
-rw-r--r--functions_func_h.html56
-rw-r--r--functions_func_i.html81
-rw-r--r--functions_func_k.html22
-rw-r--r--functions_func_l.html57
-rw-r--r--functions_func_m.html58
-rw-r--r--functions_func_n.html28
-rw-r--r--functions_func_o.html85
-rw-r--r--functions_func_p.html65
-rw-r--r--functions_func_q.html24
-rw-r--r--functions_func_r.html83
-rw-r--r--functions_func_s.html67
-rw-r--r--functions_func_t.html38
-rw-r--r--functions_func_u.html56
-rw-r--r--functions_func_v.html25
-rw-r--r--functions_func_w.html53
-rw-r--r--functions_func_z.html31
-rw-r--r--functions_func_~.html (renamed from functions_func_0x7e.html)27
-rw-r--r--functions_g.html116
-rw-r--r--functions_h.html57
-rw-r--r--functions_i.html105
-rw-r--r--functions_k.html22
-rw-r--r--functions_l.html63
-rw-r--r--functions_m.html69
-rw-r--r--functions_n.html39
-rw-r--r--functions_o.html82
-rw-r--r--functions_p.html81
-rw-r--r--functions_q.html24
-rw-r--r--functions_r.html90
-rw-r--r--functions_rela.html104
-rw-r--r--functions_s.html87
-rw-r--r--functions_t.html50
-rw-r--r--functions_type.html91
-rw-r--r--functions_u.html59
-rw-r--r--functions_v.html28
-rw-r--r--functions_vars.html167
-rw-r--r--functions_w.html59
-rw-r--r--functions_x.html22
-rw-r--r--functions_z.html34
-rw-r--r--functions_~.html (renamed from functions_0x7e.html)27
-rw-r--r--globals.html44
-rw-r--r--globals_defs.html44
-rw-r--r--group__config.html46
-rw-r--r--handle_8hpp.html31
-rw-r--r--handle_8hpp.js5
-rw-r--r--hierarchy.html273
-rw-r--r--hierarchy.js92
-rw-r--r--index.html393
-rw-r--r--io__handle_8hpp.html45
-rw-r--r--io__handle_8hpp.js8
-rw-r--r--io__service_8hpp.js9
-rw-r--r--jquery.js94
-rw-r--r--kvstore_8hpp.html25
-rw-r--r--llfio_8hpp.html25
-rw-r--r--lock__files_8hpp.html27
-rw-r--r--lockable__io__handle_8hpp.html137
-rw-r--r--lockable__io__handle_8hpp.js11
-rw-r--r--map__handle_8hpp.html28
-rw-r--r--map__handle_8hpp.js9
-rw-r--r--mapped_8hpp.html25
-rw-r--r--mapped__file__handle_8hpp.html35
-rw-r--r--mapped__file__handle_8hpp.js4
-rw-r--r--md__build.html120
-rw-r--r--memory__map_8hpp.html28
-rw-r--r--menu.js26
-rw-r--r--menudata.js39
-rw-r--r--modules.html22
-rw-r--r--namespacekvstore__v1__xxx.html41
-rw-r--r--namespacekvstore__v1__xxx_1_1traits.html24
-rw-r--r--namespacellfio__v2__xxx.html1697
-rw-r--r--namespacellfio__v2__xxx.js17
-rw-r--r--namespacellfio__v2__xxx_1_1algorithm.html439
-rw-r--r--namespacellfio__v2__xxx_1_1algorithm.js7
-rw-r--r--namespacellfio__v2__xxx_1_1algorithm_1_1impl.html24
-rw-r--r--namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html24
-rw-r--r--namespacellfio__v2__xxx_1_1path__discovery.html74
-rw-r--r--namespacellfio__v2__xxx_1_1storage__profile.html48
-rw-r--r--namespacellfio__v2__xxx_1_1this__thread.html120
-rw-r--r--namespacellfio__v2__xxx_1_1utils.html173
-rw-r--r--namespacellfio__v2__xxx_1_1utils.js3
-rw-r--r--namespacemembers.html155
-rw-r--r--namespacemembers_enum.html31
-rw-r--r--namespacemembers_func.html141
-rw-r--r--namespacemembers_type.html31
-rw-r--r--namespaces.html25
-rw-r--r--namespaces_dup.js (renamed from namespaces.js)2
-rw-r--r--native__handle__type_8hpp.html27
-rw-r--r--navtree.css2
-rw-r--r--navtree.js67
-rw-r--r--navtreedata.js71
-rw-r--r--navtreeindex0.js54
-rw-r--r--navtreeindex1.js356
-rw-r--r--navtreeindex10.js255
-rw-r--r--navtreeindex11.js253
-rw-r--r--navtreeindex12.js253
-rw-r--r--navtreeindex13.js253
-rw-r--r--navtreeindex14.js137
-rw-r--r--navtreeindex2.js500
-rw-r--r--navtreeindex3.js500
-rw-r--r--navtreeindex4.js500
-rw-r--r--navtreeindex5.js500
-rw-r--r--navtreeindex6.js500
-rw-r--r--navtreeindex7.js500
-rw-r--r--navtreeindex8.js500
-rw-r--r--navtreeindex9.js500
-rw-r--r--pages.html22
-rw-r--r--path__discovery_8hpp.html28
-rw-r--r--path__discovery_8hpp.js1
-rw-r--r--path__handle_8hpp.html29
-rw-r--r--path__view_8hpp.html135
-rw-r--r--path__view_8hpp.js38
-rw-r--r--pipe__handle_8hpp.html123
-rw-r--r--process__handle_8hpp.html (renamed from io__service_8hpp.html)93
-rw-r--r--process__handle_8hpp.js7
-rw-r--r--reduce_8hpp.html130
-rw-r--r--reduce_8hpp.js5
-rw-r--r--resize.js29
-rw-r--r--safe__byte__ranges_8hpp.html27
-rw-r--r--search/all_0.html8
-rw-r--r--search/all_0.js16
-rw-r--r--search/all_1.html8
-rw-r--r--search/all_1.js61
-rw-r--r--search/all_10.html8
-rw-r--r--search/all_10.js4
-rw-r--r--search/all_11.html8
-rw-r--r--search/all_11.js72
-rw-r--r--search/all_12.html8
-rw-r--r--search/all_12.js133
-rw-r--r--search/all_13.html8
-rw-r--r--search/all_13.js48
-rw-r--r--search/all_14.html8
-rw-r--r--search/all_14.js43
-rw-r--r--search/all_15.html8
-rw-r--r--search/all_15.js12
-rw-r--r--search/all_16.html8
-rw-r--r--search/all_16.js25
-rw-r--r--search/all_17.html8
-rw-r--r--search/all_17.js6
-rw-r--r--search/all_18.html8
-rw-r--r--search/all_18.js6
-rw-r--r--search/all_19.html8
-rw-r--r--search/all_19.js3
-rw-r--r--search/all_2.html8
-rw-r--r--search/all_2.js42
-rw-r--r--search/all_3.html8
-rw-r--r--search/all_3.js118
-rw-r--r--search/all_4.html8
-rw-r--r--search/all_4.js58
-rw-r--r--search/all_5.html8
-rw-r--r--search/all_5.js47
-rw-r--r--search/all_6.html8
-rw-r--r--search/all_6.js94
-rw-r--r--search/all_7.html8
-rw-r--r--search/all_7.js7
-rw-r--r--search/all_8.html8
-rw-r--r--search/all_8.js22
-rw-r--r--search/all_9.html8
-rw-r--r--search/all_9.js115
-rw-r--r--search/all_a.html8
-rw-r--r--search/all_a.js26
-rw-r--r--search/all_b.html8
-rw-r--r--search/all_b.js104
-rw-r--r--search/all_c.html8
-rw-r--r--search/all_c.js61
-rw-r--r--search/all_d.html8
-rw-r--r--search/all_d.js30
-rw-r--r--search/all_e.html8
-rw-r--r--search/all_e.js55
-rw-r--r--search/all_f.html8
-rw-r--r--search/all_f.js64
-rw-r--r--search/classes_0.html8
-rw-r--r--search/classes_0.js7
-rw-r--r--search/classes_1.html8
-rw-r--r--search/classes_1.js7
-rw-r--r--search/classes_10.html30
-rw-r--r--search/classes_10.js4
-rw-r--r--search/classes_11.html30
-rw-r--r--search/classes_11.js6
-rw-r--r--search/classes_2.html8
-rw-r--r--search/classes_2.js11
-rw-r--r--search/classes_3.html8
-rw-r--r--search/classes_3.js35
-rw-r--r--search/classes_4.html8
-rw-r--r--search/classes_4.js14
-rw-r--r--search/classes_5.html8
-rw-r--r--search/classes_5.js12
-rw-r--r--search/classes_6.html8
-rw-r--r--search/classes_6.js8
-rw-r--r--search/classes_7.html8
-rw-r--r--search/classes_7.js2
-rw-r--r--search/classes_8.html8
-rw-r--r--search/classes_8.js46
-rw-r--r--search/classes_9.html8
-rw-r--r--search/classes_9.js6
-rw-r--r--search/classes_a.html8
-rw-r--r--search/classes_a.js8
-rw-r--r--search/classes_b.html8
-rw-r--r--search/classes_b.js3
-rw-r--r--search/classes_c.html8
-rw-r--r--search/classes_c.js19
-rw-r--r--search/classes_d.html8
-rw-r--r--search/classes_d.js6
-rw-r--r--search/classes_e.html8
-rw-r--r--search/classes_e.js15
-rw-r--r--search/classes_f.html8
-rw-r--r--search/classes_f.js14
-rw-r--r--search/defines_0.html8
-rw-r--r--search/defines_0.js20
-rw-r--r--search/enums_0.html8
-rw-r--r--search/enums_0.js2
-rw-r--r--search/enums_1.html8
-rw-r--r--search/enums_1.js5
-rw-r--r--search/enums_2.html8
-rw-r--r--search/enums_2.js3
-rw-r--r--search/enums_3.html8
-rw-r--r--search/enums_3.js2
-rw-r--r--search/enums_4.html8
-rw-r--r--search/enums_4.js2
-rw-r--r--search/enums_5.html8
-rw-r--r--search/enums_5.js2
-rw-r--r--search/enums_6.html8
-rw-r--r--search/enums_6.js4
-rw-r--r--search/enums_7.html30
-rw-r--r--search/enums_7.js6
-rw-r--r--search/enums_8.html30
-rw-r--r--search/enums_8.js4
-rw-r--r--search/enums_9.html30
-rw-r--r--search/enums_9.js4
-rw-r--r--search/enumvalues_0.html8
-rw-r--r--search/enumvalues_0.js12
-rw-r--r--search/enumvalues_1.html8
-rw-r--r--search/enumvalues_1.js3
-rw-r--r--search/enumvalues_10.html30
-rw-r--r--search/enumvalues_10.js9
-rw-r--r--search/enumvalues_11.html30
-rw-r--r--search/enumvalues_11.js4
-rw-r--r--search/enumvalues_2.html8
-rw-r--r--search/enumvalues_2.js2
-rw-r--r--search/enumvalues_3.html8
-rw-r--r--search/enumvalues_3.js6
-rw-r--r--search/enumvalues_4.html8
-rw-r--r--search/enumvalues_4.js4
-rw-r--r--search/enumvalues_5.html8
-rw-r--r--search/enumvalues_5.js6
-rw-r--r--search/enumvalues_6.html8
-rw-r--r--search/enumvalues_6.js5
-rw-r--r--search/enumvalues_7.html8
-rw-r--r--search/enumvalues_7.js4
-rw-r--r--search/enumvalues_8.html8
-rw-r--r--search/enumvalues_8.js5
-rw-r--r--search/enumvalues_9.html8
-rw-r--r--search/enumvalues_9.js5
-rw-r--r--search/enumvalues_a.html8
-rw-r--r--search/enumvalues_a.js10
-rw-r--r--search/enumvalues_b.html8
-rw-r--r--search/enumvalues_b.js6
-rw-r--r--search/enumvalues_c.html8
-rw-r--r--search/enumvalues_c.js8
-rw-r--r--search/enumvalues_d.html30
-rw-r--r--search/enumvalues_d.js9
-rw-r--r--search/enumvalues_e.html30
-rw-r--r--search/enumvalues_e.js6
-rw-r--r--search/enumvalues_f.html30
-rw-r--r--search/enumvalues_f.js7
-rw-r--r--search/files_0.html8
-rw-r--r--search/files_0.js3
-rw-r--r--search/files_1.html8
-rw-r--r--search/files_1.js4
-rw-r--r--search/files_10.html8
-rw-r--r--search/files_10.js2
-rw-r--r--search/files_11.html30
-rw-r--r--search/files_11.js4
-rw-r--r--search/files_2.html8
-rw-r--r--search/files_2.js8
-rw-r--r--search/files_3.html8
-rw-r--r--search/files_3.js4
-rw-r--r--search/files_4.html8
-rw-r--r--search/files_4.js6
-rw-r--r--search/files_5.html8
-rw-r--r--search/files_5.js2
-rw-r--r--search/files_6.html8
-rw-r--r--search/files_6.js3
-rw-r--r--search/files_7.html8
-rw-r--r--search/files_7.js2
-rw-r--r--search/files_8.html8
-rw-r--r--search/files_8.js5
-rw-r--r--search/files_9.html8
-rw-r--r--search/files_9.js8
-rw-r--r--search/files_a.html8
-rw-r--r--search/files_a.js2
-rw-r--r--search/files_b.html8
-rw-r--r--search/files_b.js8
-rw-r--r--search/files_c.html8
-rw-r--r--search/files_c.js6
-rw-r--r--search/files_d.html8
-rw-r--r--search/files_d.js7
-rw-r--r--search/files_e.html8
-rw-r--r--search/files_e.js3
-rw-r--r--search/files_f.html8
-rw-r--r--search/files_f.js2
-rw-r--r--search/functions_0.html8
-rw-r--r--search/functions_0.js10
-rw-r--r--search/functions_1.html8
-rw-r--r--search/functions_1.js37
-rw-r--r--search/functions_10.html8
-rw-r--r--search/functions_10.js4
-rw-r--r--search/functions_11.html8
-rw-r--r--search/functions_11.js54
-rw-r--r--search/functions_12.html8
-rw-r--r--search/functions_12.js50
-rw-r--r--search/functions_13.html8
-rw-r--r--search/functions_13.js22
-rw-r--r--search/functions_14.html8
-rw-r--r--search/functions_14.js22
-rw-r--r--search/functions_15.html8
-rw-r--r--search/functions_15.js6
-rw-r--r--search/functions_16.html8
-rw-r--r--search/functions_16.js10
-rw-r--r--search/functions_17.html8
-rw-r--r--search/functions_17.js5
-rw-r--r--search/functions_18.html8
-rw-r--r--search/functions_18.js3
-rw-r--r--search/functions_2.html8
-rw-r--r--search/functions_2.js26
-rw-r--r--search/functions_3.html8
-rw-r--r--search/functions_3.js54
-rw-r--r--search/functions_4.html8
-rw-r--r--search/functions_4.js25
-rw-r--r--search/functions_5.html8
-rw-r--r--search/functions_5.js32
-rw-r--r--search/functions_6.html8
-rw-r--r--search/functions_6.js39
-rw-r--r--search/functions_7.html8
-rw-r--r--search/functions_7.js5
-rw-r--r--search/functions_8.html8
-rw-r--r--search/functions_8.js12
-rw-r--r--search/functions_9.html8
-rw-r--r--search/functions_9.js55
-rw-r--r--search/functions_a.html8
-rw-r--r--search/functions_a.js6
-rw-r--r--search/functions_b.html8
-rw-r--r--search/functions_b.js19
-rw-r--r--search/functions_c.html8
-rw-r--r--search/functions_c.js41
-rw-r--r--search/functions_d.html8
-rw-r--r--search/functions_d.js9
-rw-r--r--search/functions_e.html8
-rw-r--r--search/functions_e.js49
-rw-r--r--search/functions_f.html8
-rw-r--r--search/functions_f.js33
-rw-r--r--search/groups_0.html8
-rw-r--r--search/groups_0.js2
-rw-r--r--search/mag_sel.pngbin563 -> 465 bytes
-rw-r--r--search/namespaces_0.html8
-rw-r--r--search/namespaces_0.js4
-rw-r--r--search/namespaces_1.html8
-rw-r--r--search/namespaces_1.js15
-rw-r--r--search/nomatches.html2
-rw-r--r--search/pages_0.html8
-rw-r--r--search/pages_0.js2
-rw-r--r--search/pages_1.html8
-rw-r--r--search/pages_1.js2
-rw-r--r--search/related_0.html30
-rw-r--r--search/related_0.js4
-rw-r--r--search/related_1.html30
-rw-r--r--search/related_1.js4
-rw-r--r--search/search.js25
-rw-r--r--search/search_l.pngbin604 -> 567 bytes
-rw-r--r--search/search_r.pngbin612 -> 553 bytes
-rw-r--r--search/searchdata.js31
-rw-r--r--search/typedefs_0.html8
-rw-r--r--search/typedefs_0.js4
-rw-r--r--search/typedefs_1.html8
-rw-r--r--search/typedefs_1.js6
-rw-r--r--search/typedefs_10.html8
-rw-r--r--search/typedefs_10.js2
-rw-r--r--search/typedefs_2.html8
-rw-r--r--search/typedefs_2.js18
-rw-r--r--search/typedefs_3.html8
-rw-r--r--search/typedefs_3.js4
-rw-r--r--search/typedefs_4.html8
-rw-r--r--search/typedefs_4.js9
-rw-r--r--search/typedefs_5.html8
-rw-r--r--search/typedefs_5.js4
-rw-r--r--search/typedefs_6.html8
-rw-r--r--search/typedefs_6.js4
-rw-r--r--search/typedefs_7.html8
-rw-r--r--search/typedefs_7.js10
-rw-r--r--search/typedefs_8.html8
-rw-r--r--search/typedefs_8.js2
-rw-r--r--search/typedefs_9.html8
-rw-r--r--search/typedefs_9.js3
-rw-r--r--search/typedefs_a.html8
-rw-r--r--search/typedefs_a.js2
-rw-r--r--search/typedefs_b.html8
-rw-r--r--search/typedefs_b.js6
-rw-r--r--search/typedefs_c.html8
-rw-r--r--search/typedefs_c.js6
-rw-r--r--search/typedefs_d.html8
-rw-r--r--search/typedefs_d.js4
-rw-r--r--search/typedefs_e.html8
-rw-r--r--search/typedefs_e.js9
-rw-r--r--search/typedefs_f.html8
-rw-r--r--search/typedefs_f.js2
-rw-r--r--search/variables_0.html8
-rw-r--r--search/variables_0.js3
-rw-r--r--search/variables_1.html8
-rw-r--r--search/variables_1.js4
-rw-r--r--search/variables_10.html8
-rw-r--r--search/variables_10.js2
-rw-r--r--search/variables_11.html30
-rw-r--r--search/variables_11.js5
-rw-r--r--search/variables_12.html30
-rw-r--r--search/variables_12.js5
-rw-r--r--search/variables_13.html30
-rw-r--r--search/variables_13.js4
-rw-r--r--search/variables_2.html8
-rw-r--r--search/variables_2.js11
-rw-r--r--search/variables_3.html8
-rw-r--r--search/variables_3.js8
-rw-r--r--search/variables_4.html8
-rw-r--r--search/variables_4.js19
-rw-r--r--search/variables_5.html8
-rw-r--r--search/variables_5.js19
-rw-r--r--search/variables_6.html8
-rw-r--r--search/variables_6.js3
-rw-r--r--search/variables_7.html8
-rw-r--r--search/variables_7.js5
-rw-r--r--search/variables_8.html8
-rw-r--r--search/variables_8.js6
-rw-r--r--search/variables_9.html8
-rw-r--r--search/variables_9.js13
-rw-r--r--search/variables_a.html8
-rw-r--r--search/variables_a.js7
-rw-r--r--search/variables_b.html8
-rw-r--r--search/variables_b.js2
-rw-r--r--search/variables_c.html8
-rw-r--r--search/variables_c.js28
-rw-r--r--search/variables_d.html8
-rw-r--r--search/variables_d.js3
-rw-r--r--search/variables_e.html8
-rw-r--r--search/variables_e.js27
-rw-r--r--search/variables_f.html8
-rw-r--r--search/variables_f.js5
-rw-r--r--stat_8hpp.html27
-rw-r--r--statfs_8hpp.html36
-rw-r--r--statfs_8hpp.js6
-rw-r--r--storage__profile_8hpp.html53
-rw-r--r--storage__profile_8hpp.js4
-rw-r--r--structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html30
-rw-r--r--structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html30
-rw-r--r--structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html22
-rw-r--r--structkvstore__v1__xxx_1_1basic__key__value__store__info.html38
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__attachable-members.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__attachable.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__detachable-members.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__detachable.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable-members.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable-members.html22
-rw-r--r--structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1compare__visitor-members.html109
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html275
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.js8
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.pngbin0 -> 871 bytes
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor-members.html117
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html456
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.js17
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.pngbin0 -> 868 bytes
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type-members.html110
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html136
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.js10
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type-members.html104
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html132
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.js5
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.pngbin0 -> 1107 bytes
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1difference__item-members.html118
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1difference__item.html205
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1difference__item.js19
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl-members.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.js18
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html26
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.js20
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor-members.html116
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html492
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.js15
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.pngbin0 -> 866 bytes
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx-members.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type-members.html22
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html50
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor-members.html110
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html282
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.js8
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.pngbin0 -> 896 bytes
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traversal__summary-members.html116
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html181
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.js15
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor-members.html109
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html402
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.js9
-rw-r--r--structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.pngbin0 -> 1748 bytes
-rw-r--r--structllfio__v2__xxx_1_1construct-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html26
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html147
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.js11
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html37
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4-members.html (renamed from structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4-members.html)41
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html143
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.js10
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01process__handle_01_4-members.html108
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html (renamed from structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html)70
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.js8
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html31
-rw-r--r--structllfio__v2__xxx_1_1deadline-members.html22
-rw-r--r--structllfio__v2__xxx_1_1deadline.html22
-rw-r--r--structllfio__v2__xxx_1_1directory__entry-members.html22
-rw-r--r--structllfio__v2__xxx_1_1directory__entry.html22
-rw-r--r--structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html41
-rw-r--r--structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html40
-rw-r--r--structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.js3
-rw-r--r--structllfio__v2__xxx_1_1directory__handle_1_1io__request-members.html22
-rw-r--r--structllfio__v2__xxx_1_1directory__handle_1_1io__request.html33
-rw-r--r--structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness-members.html108
-rw-r--r--structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html137
-rw-r--r--structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.js8
-rw-r--r--structllfio__v2__xxx_1_1error__info-members.html30
-rw-r--r--structllfio__v2__xxx_1_1error__info.html128
-rw-r--r--structllfio__v2__xxx_1_1error__info.js8
-rw-r--r--structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng-members.html22
-rw-r--r--structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html26
-rw-r--r--structllfio__v2__xxx_1_1file__handle_1_1extent__pair-members.html110
-rw-r--r--structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html142
-rw-r--r--structllfio__v2__xxx_1_1file__handle_1_1extent__pair.js10
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1buffer__type-members.html123
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html200
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1buffer__type.js25
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type-members.html123
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html197
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.js25
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__request.js7
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result.js12
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result.pngbin753 -> 0 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type-members.html110
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html132
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.js10
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.pngbin0 -> 1689 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html156
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html269
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.js43
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.pngbin0 -> 1830 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state-members.html145
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html273
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.js43
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.pngbin0 -> 1834 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t-members.html109
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html149
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.js10
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html124
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.js5
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_29a4de9e1c2c7e52890dc141915c7822.html (renamed from unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html)32
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_8bbd52896f06916030695213bfdc8ed4.html104
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html121
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.js4
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_f395ee2ea9bb49177f3a384ac5bffcbe.html104
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html121
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.js4
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable-members.html131
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html256
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.js29
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.pngbin0 -> 1050 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type-members.html126
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html206
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.js26
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics-members.html105
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html126
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.js5
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type-members.html127
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html207
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.js27
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state-members.html116
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html196
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.js17
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.pngbin0 -> 1835 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard-members.html113
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html152
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.js13
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor-members.html113
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html166
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.js13
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.pngbin0 -> 1047 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__request-members.html (renamed from structllfio__v2__xxx_1_1io__handle_1_1io__request-members.html)34
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html (renamed from structllfio__v2__xxx_1_1io__handle_1_1io__request.html)50
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.js7
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__result-members.html (renamed from structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html)44
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html (renamed from structllfio__v2__xxx_1_1io__handle_1_1io__result.html)84
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.js12
-rw-r--r--structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.pngbin0 -> 769 bytes
-rw-r--r--structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.js8
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type-members.html62
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type.html210
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type.js14
-rw-r--r--structllfio__v2__xxx_1_1path__discovery_1_1discovered__path-members.html22
-rw-r--r--structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html35
-rw-r--r--structllfio__v2__xxx_1_1path__hasher-members.html22
-rw-r--r--structllfio__v2__xxx_1_1path__hasher.html22
-rw-r--r--structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter-members.html104
-rw-r--r--structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html115
-rw-r--r--structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.js4
-rw-r--r--structllfio__v2__xxx_1_1stat__t-members.html75
-rw-r--r--structllfio__v2__xxx_1_1stat__t.html72
-rw-r--r--structllfio__v2__xxx_1_1stat__t.js3
-rw-r--r--structllfio__v2__xxx_1_1statfs__t-members.html59
-rw-r--r--structllfio__v2__xxx_1_1statfs__t.html61
-rw-r--r--structllfio__v2__xxx_1_1statfs__t.js2
-rw-r--r--structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t-members.html22
-rw-r--r--structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html22
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item-members.html22
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item.html28
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item__base-members.html22
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item__base.html40
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item__base.pngbin3391 -> 3397 bytes
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item__erased-members.html22
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html28
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1storage__profile-members.html22
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html74
-rw-r--r--structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.js14
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type-members.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html33
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.js4
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type-members.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html24
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.js6
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4-members.html22
-rw-r--r--structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html22
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind-members.html22
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html22
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html28
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html30
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.js2
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1process__memory__usage-members.html (renamed from structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self-members.html)35
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html134
-rw-r--r--structllfio__v2__xxx_1_1utils_1_1process__memory__usage.js7
-rw-r--r--summarize_8hpp.html135
-rw-r--r--summarize_8hpp.js6
-rw-r--r--symlink__handle_8hpp.html25
-rw-r--r--tabs.css2
-rw-r--r--todo.html57
-rw-r--r--traverse_8hpp.html130
-rw-r--r--traverse_8hpp.js5
-rw-r--r--trivial__vector_8hpp.html25
-rw-r--r--trivial__vector_8hpp.js2
-rw-r--r--unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.js7
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t-members.html114
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html159
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.js15
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_195e2287f25f6d37fcb1f84d7452eab40.html109
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html153
-rw-r--r--unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.js12
-rw-r--r--utils_8hpp.html51
-rw-r--r--utils_8hpp.js6
-rw-r--r--v2_80_2llfio_8hpp.html37
-rw-r--r--version_8hpp.html27
-rw-r--r--xor_8hpp.html25
891 files changed, 46231 insertions, 18220 deletions
diff --git a/annotated.html b/annotated.html
index 4c410030..c725d1fc 100644
--- a/annotated.html
+++ b/annotated.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('annotated.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,103 +87,139 @@ $(document).ready(function(){initNavTree('annotated.html','');});
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
-<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span><span onclick="javascript:toggleLevel(6);">6</span><span onclick="javascript:toggleLevel(7);">7</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>in_place_attach_detach</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>traits</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html" target="_self">disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html" target="_self">disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>traits</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html" target="_self">disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html" target="_self">disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacekvstore__v1__xxx.html" target="_self">kvstore_v1_xxx</a></td><td class="desc">The kv store namespace </td></tr>
-<tr id="row_1_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html" target="_self">traits</a></td><td class="desc">Traits </td></tr>
-<tr id="row_1_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html" target="_self">is_attachable</a></td><td class="desc">True if a type is trivially attachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_attach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
-<tr id="row_1_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html" target="_self">is_detachable</a></td><td class="desc">True if a type is trivially detachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_detach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
-<tr id="row_1_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html" target="_self">is_trivially_attachable</a></td><td class="desc">True if a type is trivially attachable i.e. requires no extra work to attach </td></tr>
-<tr id="row_1_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html" target="_self">is_trivially_detachable</a></td><td class="desc">True if a type is trivially detachable i.e. requires no extra work to detach </td></tr>
-<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html" target="_self">basic_key_value_store</a></td><td class="desc">A possibly hardware-implemented basic key-value store </td></tr>
-<tr id="row_1_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html" target="_self">transaction</a></td><td class="desc"></td></tr>
-<tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html" target="_self">basic_key_value_store_info</a></td><td class="desc">Information about an available key value store implementation </td></tr>
-<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx.html" target="_self">llfio_v2_xxx</a></td><td class="desc">The LLFIO namespace </td></tr>
-<tr id="row_2_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_0_" class="arrow" onclick="toggleFolder('2_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html" target="_self">algorithm</a></td><td class="desc">Collection of file system based algorithms </td></tr>
-<tr id="row_2_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_0_0_" class="arrow" onclick="toggleFolder('2_0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html" target="_self">impl</a></td><td class="desc">Does not exist in the actual source code, purely here to workaround doxygen limitations </td></tr>
-<tr id="row_2_0_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">trivial_vector_impl</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html" target="_self">trivial_vector_impl&lt; true, T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_0_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html" target="_self">trivial_vector_iterator</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_0_1_" class="arrow" onclick="toggleFolder('2_0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html" target="_self">shared_fs_mutex</a></td><td class="desc">Algorithms for protecting a shared filing system resource from racy modification </td></tr>
-<tr id="row_2_0_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" target="_self">atomic_append</a></td><td class="desc">Scalable many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_2_0_1_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" target="_self">byte_ranges</a></td><td class="desc">Many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_2_0_1_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" target="_self">lock_files</a></td><td class="desc">Many entity exclusive compatibility file system based lock </td></tr>
-<tr id="row_2_0_1_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_2_0_1_3_" class="arrow" onclick="toggleFolder('2_0_1_3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" target="_self">memory_map</a></td><td class="desc">Many entity memory mapped shared/exclusive file system based lock </td></tr>
-<tr id="row_2_0_1_3_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html" target="_self">_entity_idx</a></td><td class="desc"></td></tr>
-<tr id="row_2_0_1_4_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" target="_self">safe_byte_ranges</a></td><td class="desc">Safe many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_2_0_1_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_2_0_1_5_" class="arrow" onclick="toggleFolder('2_0_1_5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" target="_self">shared_fs_mutex</a></td><td class="desc">Abstract base class for an object which protects shared filing system resources </td></tr>
-<tr id="row_2_0_1_5_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html" target="_self">entities_guard</a></td><td class="desc">RAII holder for a lock on a sequence of entities </td></tr>
-<tr id="row_2_0_1_5_1_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html" target="_self">entity_type</a></td><td class="desc">The type of an entity id </td></tr>
-<tr id="row_2_0_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html" target="_self">cached_parent_handle_adapter</a></td><td class="desc">Adapts any <code>construct()</code>-able implementation to cache its parent directory handle in a process wide cache </td></tr>
-<tr id="row_2_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html" target="_self">combining_handle_adapter</a></td><td class="desc">A handle combining the data from one or two other handles </td></tr>
-<tr id="row_2_0_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html" target="_self">trivial_vector</a></td><td class="desc">Provides a constant time capacity expanding move-only STL vector. Requires <code>T</code> to be trivially copyable </td></tr>
-<tr id="row_2_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_1_" class="arrow" onclick="toggleFolder('2_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html" target="_self">path_discovery</a></td><td class="desc">Contains functions used to discover suitable paths for things </td></tr>
-<tr id="row_2_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html" target="_self">discovered_path</a></td><td class="desc">A discovered path </td></tr>
-<tr id="row_2_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_2_" class="arrow" onclick="toggleFolder('2_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html" target="_self">storage_profile</a></td><td class="desc">YAML databaseable empirical testing of a storage's behaviour </td></tr>
-<tr id="row_2_2_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">item</a></td><td class="desc">A tag-value item in the storage profile where T is the type of value stored </td></tr>
-<tr id="row_2_2_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" target="_self">item_base</a></td><td class="desc">Common base class for items </td></tr>
-<tr id="row_2_2_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" target="_self">item_erased</a></td><td class="desc">A type erased tag-value item </td></tr>
-<tr id="row_2_2_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html" target="_self">storage_profile</a></td><td class="desc">A (possibly incomplet) profile of storage </td></tr>
-<tr id="row_2_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_3_" class="arrow" onclick="toggleFolder('2_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1utils.html" target="_self">utils</a></td><td class="desc">Utility routines often useful when using LLFIO </td></tr>
-<tr id="row_2_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_3_0_" class="arrow" onclick="toggleFolder('2_3_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html" target="_self">page_allocator</a></td><td class="desc">An STL allocator which allocates large TLB page memory.If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified </td></tr>
-<tr id="row_2_3_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
-<tr id="row_2_3_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_3_1_" class="arrow" onclick="toggleFolder('2_3_1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html" target="_self">page_allocator&lt; void &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_2_3_1_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
-<tr id="row_2_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_4_" class="arrow" onclick="toggleFolder('2_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html" target="_self">async_file_handle</a></td><td class="desc">An asynchronous handle to an open something </td></tr>
-<tr id="row_2_4_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html" target="_self">awaitable</a></td><td class="desc">Type sugar to tell <code>co_await</code> what to do </td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html" target="_self">traits</a></td><td class="desc">Traits </td></tr>
+<tr id="row_1_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html" target="_self">is_attachable</a></td><td class="desc">True if a type is trivially attachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_attach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
+<tr id="row_1_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html" target="_self">is_detachable</a></td><td class="desc">True if a type is trivially detachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_detach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
+<tr id="row_1_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html" target="_self">is_trivially_attachable</a></td><td class="desc">True if a type is trivially attachable i.e. requires no extra work to attach </td></tr>
+<tr id="row_1_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html" target="_self">is_trivially_detachable</a></td><td class="desc">True if a type is trivially detachable i.e. requires no extra work to detach </td></tr>
+<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="toggleFolder('1_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html" target="_self">basic_key_value_store</a></td><td class="desc">A possibly hardware-implemented basic key-value store </td></tr>
+<tr id="row_1_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html" target="_self">transaction</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html" target="_self">basic_key_value_store_info</a></td><td class="desc">Information about an available key value store implementation </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx.html" target="_self">llfio_v2_xxx</a></td><td class="desc">The LLFIO namespace </td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_0_" class="arrow" onclick="toggleFolder('2_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html" target="_self">algorithm</a></td><td class="desc">Collection of file system based algorithms </td></tr>
+<tr id="row_2_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_0_0_" class="arrow" onclick="toggleFolder('2_0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html" target="_self">impl</a></td><td class="desc">Does not exist in the actual source code, purely here to workaround doxygen limitations </td></tr>
+<tr id="row_2_0_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">trivial_vector_impl</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html" target="_self">trivial_vector_impl&lt; true, T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html" target="_self">trivial_vector_iterator</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_0_1_" class="arrow" onclick="toggleFolder('2_0_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html" target="_self">shared_fs_mutex</a></td><td class="desc">Algorithms for protecting a shared filing system resource from racy modification </td></tr>
+<tr id="row_2_0_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" target="_self">atomic_append</a></td><td class="desc">Scalable many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_2_0_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" target="_self">byte_ranges</a></td><td class="desc">Many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_2_0_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" target="_self">lock_files</a></td><td class="desc">Many entity exclusive compatibility file system based lock </td></tr>
+<tr id="row_2_0_1_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_2_0_1_3_" class="arrow" onclick="toggleFolder('2_0_1_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" target="_self">memory_map</a></td><td class="desc">Many entity memory mapped shared/exclusive file system based lock </td></tr>
+<tr id="row_2_0_1_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html" target="_self">_entity_idx</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_1_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" target="_self">safe_byte_ranges</a></td><td class="desc">Safe many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_2_0_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_2_0_1_5_" class="arrow" onclick="toggleFolder('2_0_1_5_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" target="_self">shared_fs_mutex</a></td><td class="desc">Abstract base class for an object which protects shared filing system resources </td></tr>
+<tr id="row_2_0_1_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html" target="_self">entities_guard</a></td><td class="desc">RAII holder for a lock on a sequence of entities </td></tr>
+<tr id="row_2_0_1_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html" target="_self">entity_type</a></td><td class="desc">The type of an entity id </td></tr>
+<tr id="row_2_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html" target="_self">cached_parent_handle_adapter</a></td><td class="desc">Adapts any <code>construct()</code>-able implementation to cache its parent directory handle in a process wide cache </td></tr>
+<tr id="row_2_0_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html" target="_self">combining_handle_adapter</a></td><td class="desc">A handle combining the data from one or two other handles </td></tr>
+<tr id="row_2_0_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html" target="_self">compare_visitor</a></td><td class="desc">A visitor for the filesystem traversal and comparison algorithm </td></tr>
+<tr id="row_2_0_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_0_5_" class="arrow" onclick="toggleFolder('2_0_5_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html" target="_self">contents_visitor</a></td><td class="desc">A visitor for the filesystem contents algorithm </td></tr>
+<tr id="row_2_0_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html" target="_self">_state_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html" target="_self">contents_type</a></td><td class="desc">Enumerated contents, and what parts of their <code>stat_t</code> is valid </td></tr>
+<tr id="row_2_0_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html" target="_self">difference_item</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html" target="_self">reduce_visitor</a></td><td class="desc">A visitor for the filesystem traversal and reduction algorithm </td></tr>
+<tr id="row_2_0_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html" target="_self">summarize_visitor</a></td><td class="desc">A visitor for the filesystem traversal and summary algorithm </td></tr>
+<tr id="row_2_0_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html" target="_self">traversal_summary</a></td><td class="desc">A summary of a directory tree </td></tr>
+<tr id="row_2_0_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" target="_self">traverse_visitor</a></td><td class="desc">A visitor for the filesystem traversal algorithm </td></tr>
+<tr id="row_2_0_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html" target="_self">trivial_vector</a></td><td class="desc">Provides a constant time capacity expanding move-only STL vector. Requires <code>T</code> to be trivially copyable </td></tr>
+<tr id="row_2_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_1_" class="arrow" onclick="toggleFolder('2_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html" target="_self">path_discovery</a></td><td class="desc">Contains functions used to discover suitable paths for things </td></tr>
+<tr id="row_2_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html" target="_self">discovered_path</a></td><td class="desc">A discovered path </td></tr>
+<tr id="row_2_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_2_" class="arrow" onclick="toggleFolder('2_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html" target="_self">storage_profile</a></td><td class="desc">YAML databaseable empirical testing of a storage's behaviour </td></tr>
+<tr id="row_2_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">item</a></td><td class="desc">A tag-value item in the storage profile where T is the type of value stored </td></tr>
+<tr id="row_2_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" target="_self">item_base</a></td><td class="desc">Common base class for items </td></tr>
+<tr id="row_2_2_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" target="_self">item_erased</a></td><td class="desc">A type erased tag-value item </td></tr>
+<tr id="row_2_2_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html" target="_self">storage_profile</a></td><td class="desc">A (possibly incomplet) profile of storage </td></tr>
+<tr id="row_2_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_3_" class="arrow" onclick="toggleFolder('2_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1utils.html" target="_self">utils</a></td><td class="desc">Utility routines often useful when using LLFIO </td></tr>
+<tr id="row_2_3_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_3_0_" class="arrow" onclick="toggleFolder('2_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html" target="_self">page_allocator</a></td><td class="desc">An STL allocator which allocates large TLB page memory </td></tr>
+<tr id="row_2_3_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_3_1_" class="arrow" onclick="toggleFolder('2_3_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html" target="_self">page_allocator&lt; void &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_1_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html" target="_self">process_memory_usage</a></td><td class="desc">Memory usage statistics for a process </td></tr>
+<tr id="row_2_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html" target="_self">awaitable_handle</a></td><td class="desc">An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed </td></tr>
<tr id="row_2_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct.html" target="_self">construct</a></td><td class="desc">Metaprogramming shim for constructing any <code>handle</code> subclass </td></tr>
-<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html" target="_self">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td><td class="desc">Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> </td></tr>
-<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html" target="_self">construct&lt; async_file_handle &gt;</a></td><td class="desc">Constructor for <code>async_file_handle</code> </td></tr>
-<tr id="row_2_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html" target="_self">construct&lt; directory_handle &gt;</a></td><td class="desc">Constructor for <code>directory_handle</code> </td></tr>
-<tr id="row_2_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html" target="_self">construct&lt; fast_random_file_handle &gt;</a></td><td class="desc">Constructor for <code>fast_random_file_handle</code> </td></tr>
-<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html" target="_self">construct&lt; file_handle &gt;</a></td><td class="desc">Constructor for <code>file_handle</code> </td></tr>
-<tr id="row_2_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html" target="_self">construct&lt; map_handle &gt;</a></td><td class="desc">Constructor for <code>map_handle</code> </td></tr>
-<tr id="row_2_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html" target="_self">construct&lt; mapped_file_handle &gt;</a></td><td class="desc">Constructor for <code>mapped_file_handle</code> </td></tr>
-<tr id="row_2_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html" target="_self">construct&lt; path_handle &gt;</a></td><td class="desc">Constructor for <code>path_handle</code> </td></tr>
-<tr id="row_2_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html" target="_self">construct&lt; section_handle &gt;</a></td><td class="desc">Constructor for <code>section_handle</code> </td></tr>
-<tr id="row_2_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html" target="_self">construct&lt; symlink_handle &gt;</a></td><td class="desc">Constructor for <code>symlink_handle</code> </td></tr>
-<tr id="row_2_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1deadline.html" target="_self">deadline</a></td><td class="desc">A time deadline in either relative-to-now or absolute (system clock) terms </td></tr>
-<tr id="row_2_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html" target="_self">directory_entry</a></td><td class="desc"></td></tr>
-<tr id="row_2_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_18_" class="arrow" onclick="toggleFolder('2_18_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
-<tr id="row_2_18_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html" target="_self">buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_2_18_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle </td></tr>
-<tr id="row_2_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1error.html" target="_self">error</a></td><td class="desc">The exception type synthesised and thrown when an <code>llfio::result</code> or <code>llfio::outcome</code> is no-value observed </td></tr>
-<tr id="row_2_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1error__info.html" target="_self">error_info</a></td><td class="desc">The cause of the failure of an operation in LLFIO </td></tr>
-<tr id="row_2_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_21_" class="arrow" onclick="toggleFolder('2_21_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html" target="_self">fast_random_file_handle</a></td><td class="desc">A handle to synthesised, non-cryptographic, pseudo-random data </td></tr>
-<tr id="row_2_21_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html" target="_self">prng</a></td><td class="desc"></td></tr>
-<tr id="row_2_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_22_" class="arrow" onclick="toggleFolder('2_22_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">file_handle</a></td><td class="desc">A handle to a regular file or device, kept data layout compatible with async_file_handle </td></tr>
-<tr id="row_2_22_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html" target="_self">extent_guard</a></td><td class="desc">EXTENSION: RAII holder a locked extent of bytes in a file </td></tr>
-<tr id="row_2_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html" target="_self">fs_handle</a></td><td class="desc">A handle to something with a device and inode number </td></tr>
-<tr id="row_2_24_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1handle.html" target="_self">handle</a></td><td class="desc">A native_handle_type which is managed by the lifetime of this object instance </td></tr>
-<tr id="row_2_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_25_" class="arrow" onclick="toggleFolder('2_25_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__handle.html" target="_self">io_handle</a></td><td class="desc">A handle to something capable of scatter-gather i/o </td></tr>
-<tr id="row_2_25_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html" target="_self">buffer_type</a></td><td class="desc"></td></tr>
-<tr id="row_2_25_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html" target="_self">const_buffer_type</a></td><td class="desc"></td></tr>
-<tr id="row_2_25_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code> </td></tr>
-<tr id="row_2_25_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">io_result</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
-<tr id="row_2_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_26_" class="arrow" onclick="toggleFolder('2_26_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__service.html" target="_self">io_service</a></td><td class="desc">An asynchronous i/o multiplexer service </td></tr>
-<tr id="row_2_26_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html" target="_self">awaitable_post_to_self</a></td><td class="desc"></td></tr>
-<tr id="row_2_27_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html" target="_self">log_level_guard</a></td><td class="desc">RAII class for temporarily adjusting the log level </td></tr>
-<tr id="row_2_28_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1map__handle.html" target="_self">map_handle</a></td><td class="desc">A handle to a memory mapped region of memory, either backed by the system page file or by a section </td></tr>
-<tr id="row_2_29_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped.html" target="_self">mapped</a></td><td class="desc">Provides an owning, typed view of memory mapped from a <code>section_handle</code> or a <code>file_handle</code> suitable for feeding to STL algorithms or the Ranges TS </td></tr>
-<tr id="row_2_30_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html" target="_self">mapped_file_handle</a></td><td class="desc">A memory mapped regular file or device </td></tr>
-<tr id="row_2_31_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html" target="_self">native_handle_type</a></td><td class="desc">A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage </td></tr>
-<tr id="row_2_32_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__handle.html" target="_self">path_handle</a></td><td class="desc">A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island </td></tr>
-<tr id="row_2_33_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html" target="_self">path_hasher</a></td><td class="desc"></td></tr>
-<tr id="row_2_34_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view.html" target="_self">path_view</a></td><td class="desc">A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code> </td></tr>
-<tr id="row_2_35_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html" target="_self">path_view_component</a></td><td class="desc">An iterated part of a <code>path_view</code> </td></tr>
-<tr id="row_2_36_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1section__handle.html" target="_self">section_handle</a></td><td class="desc">A handle to a source of mapped memory </td></tr>
-<tr id="row_2_37_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1stat__t.html" target="_self">stat_t</a></td><td class="desc">Metadata about a directory entry </td></tr>
-<tr id="row_2_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_38_" class="arrow" onclick="toggleFolder('2_38_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html" target="_self">statfs_t</a></td><td class="desc">Metadata about a filing system. Unsupported entries are all bits set </td></tr>
-<tr id="row_2_38_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html" target="_self">f_flags_t</a></td><td class="desc"></td></tr>
-<tr id="row_2_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_39_" class="arrow" onclick="toggleFolder('2_39_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
-<tr id="row_2_39_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html" target="_self">buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_2_39_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html" target="_self">const_buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_2_39_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle </td></tr>
-<tr id="row_2_39_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html" target="_self">io_request&lt; buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for reading symlinks </td></tr>
-<tr id="row_2_39_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html" target="_self">io_request&lt; const_buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for writing symlinks </td></tr>
+<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html" target="_self">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td><td class="desc">Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code> </td></tr>
+<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html" target="_self">construct&lt; directory_handle &gt;</a></td><td class="desc">Constructor for <code>directory_handle</code> </td></tr>
+<tr id="row_2_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html" target="_self">construct&lt; fast_random_file_handle &gt;</a></td><td class="desc">Constructor for <code>fast_random_file_handle</code> </td></tr>
+<tr id="row_2_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html" target="_self">construct&lt; file_handle &gt;</a></td><td class="desc">Constructor for <code>file_handle</code> </td></tr>
+<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html" target="_self">construct&lt; map_handle &gt;</a></td><td class="desc">Constructor for <code>map_handle</code> </td></tr>
+<tr id="row_2_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html" target="_self">construct&lt; mapped_file_handle &gt;</a></td><td class="desc">Constructor for <code>mapped_file_handle</code> </td></tr>
+<tr id="row_2_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html" target="_self">construct&lt; path_handle &gt;</a></td><td class="desc">Constructor for <code>path_handle</code> </td></tr>
+<tr id="row_2_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html" target="_self">construct&lt; pipe_handle &gt;</a></td><td class="desc">Constructor for <code>pipe_handle</code> </td></tr>
+<tr id="row_2_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html" target="_self">construct&lt; process_handle &gt;</a></td><td class="desc">Constructor for <code>process_handle</code> </td></tr>
+<tr id="row_2_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html" target="_self">construct&lt; section_handle &gt;</a></td><td class="desc">Constructor for <code>section_handle</code> </td></tr>
+<tr id="row_2_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html" target="_self">construct&lt; symlink_handle &gt;</a></td><td class="desc">Constructor for <code>symlink_handle</code> </td></tr>
+<tr id="row_2_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1deadline.html" target="_self">deadline</a></td><td class="desc">A time deadline in either relative-to-now or absolute (system clock) terms </td></tr>
+<tr id="row_2_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html" target="_self">directory_entry</a></td><td class="desc"></td></tr>
+<tr id="row_2_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_19_" class="arrow" onclick="toggleFolder('2_19_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
+<tr id="row_2_19_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html" target="_self">buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_19_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle </td></tr>
+<tr id="row_2_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_20_" class="arrow" onclick="toggleFolder('2_20_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html" target="_self">dynamic_thread_pool_group</a></td><td class="desc">Work group within the global dynamic thread pool </td></tr>
+<tr id="row_2_20_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_20_0_" class="arrow" onclick="toggleFolder('2_20_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html" target="_self">io_aware_work_item</a></td><td class="desc">A work item which paces when it next executes according to i/o congestion </td></tr>
+<tr id="row_2_20_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html" target="_self">io_handle_awareness</a></td><td class="desc">Information about an i/o handle this work item will use </td></tr>
+<tr id="row_2_20_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html" target="_self">work_item</a></td><td class="desc">An individual item of work within the work group </td></tr>
+<tr id="row_2_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1error.html" target="_self">error</a></td><td class="desc">The exception type synthesised and thrown when an <code>llfio::result</code> or <code>llfio::outcome</code> is no-value observed </td></tr>
+<tr id="row_2_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1error__info.html" target="_self">error_info</a></td><td class="desc">The cause of the failure of an operation in LLFIO </td></tr>
+<tr id="row_2_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1executor.html" target="_self">executor</a></td><td class="desc">Some implementation of a C++ Executor </td></tr>
+<tr id="row_2_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_24_" class="arrow" onclick="toggleFolder('2_24_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html" target="_self">fast_random_file_handle</a></td><td class="desc">A handle to synthesised, non-cryptographic, pseudo-random data </td></tr>
+<tr id="row_2_24_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html" target="_self">prng</a></td><td class="desc"></td></tr>
+<tr id="row_2_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_25_" class="arrow" onclick="toggleFolder('2_25_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">file_handle</a></td><td class="desc">A handle to a regular file or device </td></tr>
+<tr id="row_2_25_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html" target="_self">extent_pair</a></td><td class="desc">A pair of valid extents </td></tr>
+<tr id="row_2_26_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html" target="_self">fs_handle</a></td><td class="desc">A handle to something with a device and inode number </td></tr>
+<tr id="row_2_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1handle.html" target="_self">handle</a></td><td class="desc">A native_handle_type which is managed by the lifetime of this object instance </td></tr>
+<tr id="row_2_28_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__handle.html" target="_self">io_handle</a></td><td class="desc">A handle to something capable of scatter-gather byte i/o </td></tr>
+<tr id="row_2_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_29_" class="arrow" onclick="toggleFolder('2_29_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html" target="_self">io_multiplexer</a></td><td class="desc">A multiplexer of byte-orientated i/o </td></tr>
+<tr id="row_2_29_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html" target="_self">_registered_buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_29_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html" target="_self">_synchronised_io_operation_state</a></td><td class="desc">A synchronised i/o operation state </td></tr>
+<tr id="row_2_29_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_29_2_" class="arrow" onclick="toggleFolder('2_29_2_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html" target="_self">_unsynchronised_io_operation_state</a></td><td class="desc">An unsynchronised i/o operation state </td></tr>
+<tr id="row_2_29_2_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_2_29_2_0_" class="arrow" onclick="toggleFolder('2_29_2_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html" target="_self">payload_t</a></td><td class="desc">Variant storage </td></tr>
+<tr id="row_2_29_2_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_2_29_2_0_0_" class="arrow" onclick="toggleFolder('2_29_2_0_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html" target="_self">noncompleted_t</a></td><td class="desc">Storage for non-completed i/o </td></tr>
+<tr id="row_2_29_2_0_0_0_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span id="arr_2_29_2_0_0_0_" class="arrow" onclick="toggleFolder('2_29_2_0_0_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html" target="_self">params_t</a></td><td class="desc">Variant storage for the possible kinds of non-completed i/o </td></tr>
+<tr id="row_2_29_2_0_0_0_0_" style="display:none;"><td class="entry"><span style="width:112px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html" target="_self">barrier_params_t</a></td><td class="desc">Storage for a barrier i/o, the buffers to flush </td></tr>
+<tr id="row_2_29_2_0_0_0_1_" style="display:none;"><td class="entry"><span style="width:112px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html" target="_self">read_params_t</a></td><td class="desc">Storage for a read i/o, the buffers to fill </td></tr>
+<tr id="row_2_29_2_0_0_0_2_" style="display:none;"><td class="entry"><span style="width:112px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html" target="_self">write_params_t</a></td><td class="desc">Storage for a write i/o, the buffers to drain </td></tr>
+<tr id="row_2_29_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html" target="_self">awaitable</a></td><td class="desc">A convenience coroutine awaitable type returned by <code>.co_read()</code>, <code>.co_write()</code> and <code>.co_barrier()</code>. <b>Blocks execution</b> if no i/o multiplexer has been set on this handle! </td></tr>
+<tr id="row_2_29_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html" target="_self">buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_29_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html" target="_self">check_for_any_completed_io_statistics</a></td><td class="desc">Statistics about the just returned <code>wait_for_completed_io()</code> operation </td></tr>
+<tr id="row_2_29_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html" target="_self">const_buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_29_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_2_29_7_" class="arrow" onclick="toggleFolder('2_29_7_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html" target="_self">io_operation_state</a></td><td class="desc">An interface to a state for an i/o operation scheduled against an i/o multiplexer </td></tr>
+<tr id="row_2_29_7_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html" target="_self">lock_guard</a></td><td class="desc">Used by the visitor to control the state lock </td></tr>
+<tr id="row_2_29_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html" target="_self">io_operation_state_visitor</a></td><td class="desc">Called by an i/o operation state to inform you of state change. Note that the i/o operation state lock is HELD during these calls! </td></tr>
+<tr id="row_2_29_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code> </td></tr>
+<tr id="row_2_29_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html" target="_self">io_result</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
+<tr id="row_2_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_30_" class="arrow" onclick="toggleFolder('2_30_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html" target="_self">lockable_io_handle</a></td><td class="desc">A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread </td></tr>
+<tr id="row_2_30_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html" target="_self">extent_guard</a></td><td class="desc">EXTENSION: RAII holder a locked extent of bytes in a file </td></tr>
+<tr id="row_2_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html" target="_self">log_level_guard</a></td><td class="desc">RAII class for temporarily adjusting the log level for the current thread </td></tr>
+<tr id="row_2_32_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1map__handle.html" target="_self">map_handle</a></td><td class="desc">A handle to a memory mapped region of memory, either backed by the system page file or by a section </td></tr>
+<tr id="row_2_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped.html" target="_self">mapped</a></td><td class="desc">Provides an owning, typed view of memory mapped from a <code>section_handle</code> or a <code>file_handle</code> suitable for feeding to STL algorithms or the Ranges TS </td></tr>
+<tr id="row_2_34_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html" target="_self">mapped_file_handle</a></td><td class="desc">A memory mapped regular file or device </td></tr>
+<tr id="row_2_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html" target="_self">native_handle_type</a></td><td class="desc">A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage </td></tr>
+<tr id="row_2_36_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__handle.html" target="_self">path_handle</a></td><td class="desc">A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island </td></tr>
+<tr id="row_2_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html" target="_self">path_hasher</a></td><td class="desc"></td></tr>
+<tr id="row_2_38_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view.html" target="_self">path_view</a></td><td class="desc">A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code> </td></tr>
+<tr id="row_2_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html" target="_self">path_view_component</a></td><td class="desc">An iterated part of a <code>path_view</code> </td></tr>
+<tr id="row_2_40_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html" target="_self">pipe_handle</a></td><td class="desc">A handle to a named or anonymous pipe </td></tr>
+<tr id="row_2_41_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_41_" class="arrow" onclick="toggleFolder('2_41_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1process__handle.html" target="_self">process_handle</a></td><td class="desc">A handle to this, or another, process </td></tr>
+<tr id="row_2_41_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html" target="_self">_byte_array_deleter</a></td><td class="desc"></td></tr>
+<tr id="row_2_42_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html" target="_self">read_receiver</a></td><td class="desc">A C++ Receiver of an i/o read for an i/o type of <code>IoHandleType</code> </td></tr>
+<tr id="row_2_43_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1section__handle.html" target="_self">section_handle</a></td><td class="desc">A handle to a source of mapped memory </td></tr>
+<tr id="row_2_44_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1stat__t.html" target="_self">stat_t</a></td><td class="desc">Metadata about a directory entry </td></tr>
+<tr id="row_2_45_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_45_" class="arrow" onclick="toggleFolder('2_45_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html" target="_self">statfs_t</a></td><td class="desc">Metadata about a filing system. Unsupported entries are all bits set </td></tr>
+<tr id="row_2_45_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html" target="_self">f_flags_t</a></td><td class="desc"></td></tr>
+<tr id="row_2_46_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_46_" class="arrow" onclick="toggleFolder('2_46_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
+<tr id="row_2_46_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html" target="_self">buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_46_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html" target="_self">const_buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_2_46_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle </td></tr>
+<tr id="row_2_46_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html" target="_self">io_request&lt; buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for reading symlinks </td></tr>
+<tr id="row_2_46_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html" target="_self">io_request&lt; const_buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for writing symlinks </td></tr>
+<tr id="row_2_47_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html" target="_self">unique_file_lock</a></td><td class="desc">RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated </td></tr>
+<tr id="row_2_48_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html" target="_self">write_receiver</a></td><td class="desc">A C++ Receiver of an i/o write for an i/o type of <code>IoHandleType</code> </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
@@ -191,7 +229,7 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/async__file__handle_8hpp.html b/async__file__handle_8hpp.html
deleted file mode 100644
index 296eaec6..00000000
--- a/async__file__handle_8hpp.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: include/llfio/v2.0/async_file_handle.hpp File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('async__file__handle_8hpp.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
-<a href="#namespaces">Namespaces</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">async_file_handle.hpp File Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Provides async_file_handle.
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="io__service_8hpp.html">io_service.hpp</a>&quot;</code><br />
-</div><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An asynchronous handle to an open something. <a href="classllfio__v2__xxx_1_1async__file__handle.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type sugar to tell <code>co_await</code> what to do. <a href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>async_file_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
-Namespaces</h2></td></tr>
-<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
-<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:afa9eca0bb55f3d76f2a50a43b1969b60"><td class="memTemplParams" colspan="2"><a id="afa9eca0bb55f3d76f2a50a43b1969b60"></a>
-template&lt;class R , class Fn , class... Args&gt; </td></tr>
-<tr class="memitem:afa9eca0bb55f3d76f2a50a43b1969b60"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::is_invocable_r</b> = std::true_type</td></tr>
-<tr class="separator:afa9eca0bb55f3d76f2a50a43b1969b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a827e936162aff684070500f10c169e70"><td class="memItemLeft" align="right" valign="top"><a id="a827e936162aff684070500f10c169e70"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70">llfio_v2_xxx::swap</a> (async_file_handle &amp;self, async_file_handle &amp;o) noexcept</td></tr>
-<tr class="memdesc:a827e936162aff684070500f10c169e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
-<tr class="separator:a827e936162aff684070500f10c169e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8bf2fda0abbb11fdeb77d25f8288149"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx::async_file</a> (io_service &amp;service, const path_handle &amp;base, async_file_handle::path_view_type _path, async_file_handle::mode _mode=async_file_handle::mode::read, async_file_handle::creation _creation=async_file_handle::creation::open_existing, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ab8bf2fda0abbb11fdeb77d25f8288149"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acfdf75b3e8a2c43a7d3c6f315b44f9bd"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx::async_random_file</a> (io_service &amp;service, const path_handle &amp;dirpath, async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:acfdf75b3e8a2c43a7d3c6f315b44f9bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx::async_temp_file</a> (io_service &amp;service, async_file_handle::path_view_type name=async_file_handle::path_view_type(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::creation _creation=async_file_handle::creation::if_needed, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::unlink_on_first_close) noexcept</td></tr>
-<tr class="separator:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx::async_temp_inode</a> (io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplItemLeft" align="right" valign="top">result&lt; async_file_handle::io_state_ptr &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">llfio_v2_xxx::async_read</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:a39254f0f1608754370d4a9d38be0f355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">More...</a><br /></td></tr>
-<tr class="separator:a39254f0f1608754370d4a9d38be0f355"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4985d46d431e0e734ad0b8bab00ad591"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:a4985d46d431e0e734ad0b8bab00ad591"><td class="memTemplItemLeft" align="right" valign="top">result&lt; async_file_handle::io_state_ptr &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591">llfio_v2_xxx::async_write</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:a4985d46d431e0e734ad0b8bab00ad591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591">More...</a><br /></td></tr>
-<tr class="separator:a4985d46d431e0e734ad0b8bab00ad591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae108ac818c3955c032b3b9020da770eb"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle::awaitable&lt; async_file_handle::buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb">llfio_v2_xxx::co_read</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:ae108ac818c3955c032b3b9020da770eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb">More...</a><br /></td></tr>
-<tr class="separator:ae108ac818c3955c032b3b9020da770eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a07564a34b6f382b68c6d6045c8b4b6c7"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle::awaitable&lt; async_file_handle::buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a07564a34b6f382b68c6d6045c8b4b6c7">llfio_v2_xxx::co_read</a> (async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::buffer_type &gt; lst) noexcept</td></tr>
-<tr class="separator:a07564a34b6f382b68c6d6045c8b4b6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1bf4f597e8b391870215cbe005c252e6"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle::awaitable&lt; async_file_handle::const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">llfio_v2_xxx::co_write</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:a1bf4f597e8b391870215cbe005c252e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">More...</a><br /></td></tr>
-<tr class="separator:a1bf4f597e8b391870215cbe005c252e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a136e03c52e467a86c5dc76205d19f447"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle::awaitable&lt; async_file_handle::const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a136e03c52e467a86c5dc76205d19f447">llfio_v2_xxx::co_write</a> (async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::const_buffer_type &gt; lst) noexcept</td></tr>
-<tr class="separator:a136e03c52e467a86c5dc76205d19f447"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides async_file_handle. </p>
-</div></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/async__file__handle_8hpp.js b/async__file__handle_8hpp.js
deleted file mode 100644
index 4b84e8ff..00000000
--- a/async__file__handle_8hpp.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var async__file__handle_8hpp =
-[
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html", "classllfio__v2__xxx_1_1async__file__handle" ],
- [ "result_storage", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage" ],
- [ "awaitable", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable" ],
- [ "construct< async_file_handle >", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4" ],
- [ "is_invocable_r", "async__file__handle_8hpp.html#afa9eca0bb55f3d76f2a50a43b1969b60", null ],
- [ "async_file", "async__file__handle_8hpp.html#ab8bf2fda0abbb11fdeb77d25f8288149", null ],
- [ "async_random_file", "async__file__handle_8hpp.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd", null ],
- [ "async_read", "async__file__handle_8hpp.html#a39254f0f1608754370d4a9d38be0f355", null ],
- [ "async_temp_file", "async__file__handle_8hpp.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74", null ],
- [ "async_temp_inode", "async__file__handle_8hpp.html#ae6eb58f0e5fc200dd2719c7280edba5e", null ],
- [ "async_write", "async__file__handle_8hpp.html#a4985d46d431e0e734ad0b8bab00ad591", null ],
- [ "co_read", "async__file__handle_8hpp.html#ae108ac818c3955c032b3b9020da770eb", null ],
- [ "co_read", "async__file__handle_8hpp.html#a07564a34b6f382b68c6d6045c8b4b6c7", null ],
- [ "co_write", "async__file__handle_8hpp.html#a1bf4f597e8b391870215cbe005c252e6", null ],
- [ "co_write", "async__file__handle_8hpp.html#a136e03c52e467a86c5dc76205d19f447", null ],
- [ "swap", "async__file__handle_8hpp.html#a827e936162aff684070500f10c169e70", null ]
-]; \ No newline at end of file
diff --git a/atomic__append_8hpp.html b/atomic__append_8hpp.html
index bc481b6b..68a3ec45 100644
--- a/atomic__append_8hpp.html
+++ b/atomic__append_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/atomic_append.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('atomic__append_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('atomic__append_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('atomic__append_8hpp.html','');});
<div class="title">atomic_append.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::atomic_append.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../../file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
<code>#include &lt;cassert&gt;</code><br />
@@ -114,7 +113,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::atomic_append. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::atomic_append </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -123,7 +122,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="atomic__append_8hpp.html">atomic_append.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/base_8hpp.html b/base_8hpp.html
index ad5f36bc..589b8918 100644
--- a/base_8hpp.html
+++ b/base_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/base.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('base_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('base_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('base_8hpp.html','');});
<div class="title">base.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::shared_fs_mutex.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">../../handle.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/hash.hpp&quot;</code><br />
</div><table class="memberdecls">
@@ -130,7 +129,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nam
<tr class="separator:a4d1eda01c8044f5366e6a49c1839db74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::shared_fs_mutex. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::shared_fs_mutex </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -139,7 +138,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nam
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="base_8hpp.html">base.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/byte__ranges_8hpp.html b/byte__ranges_8hpp.html
index e00bf713..f7f4fc90 100644
--- a/byte__ranges_8hpp.html
+++ b/byte__ranges_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/byte_ranges.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('byte__ranges_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('byte__ranges_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('byte__ranges_8hpp.html','');});
<div class="title">byte_ranges.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::byte_ranges.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../../file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
@@ -113,7 +112,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::byte_ranges. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::byte_ranges </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -122,7 +121,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="byte__ranges_8hpp.html">byte_ranges.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/cached__parent_8hpp.html b/cached__parent_8hpp.html
index 9162b902..8d86215c 100644
--- a/cached__parent_8hpp.html
+++ b/cached__parent_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/handle_adapter/cached_parent.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('cached__parent_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('cached__parent_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,9 +91,6 @@ $(document).ready(function(){initNavTree('cached__parent_8hpp.html','');});
<div class="title">cached_parent.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Adapts any <code>fs_handle</code> to cache its parent directory handle.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="directory__handle_8hpp.html">../../directory_handle.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -100,7 +99,7 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapts any <code>construct()</code>-able implementation to cache its parent directory handle in a process wide cache. <a href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html">llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> <a href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code> <a href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -129,7 +128,7 @@ std::pair&lt; cached_path_handle_ptr, filesystem::path &gt;&#160;</td><td class=
<tr class="separator:a0e474a5af3258fc971c71d057c8fb0bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Adapts any <code>fs_handle</code> to cache its parent directory handle. </p>
+<div class="textblock"><p>Adapts any <code>fs_handle</code> to cache its parent directory handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -138,7 +137,7 @@ std::pair&lt; cached_path_handle_ptr, filesystem::path &gt;&#160;</td><td class=
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_1bdb7a6f6f947180459b1da442728237.html">handle_adapter</a></li><li class="navelem"><a class="el" href="cached__parent_8hpp.html">cached_parent.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classes.html b/classes.html
index ec537790..2b8846b5 100644
--- a/classes.html
+++ b/classes.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classes.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,51 +86,202 @@ $(document).ready(function(){initNavTree('classes.html','');});
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
-<div class="qindex"><a class="qindex" href="#letter__">_</a>&#160;|&#160;<a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
+<div class="qindex"><a class="qindex" href="#letter__">_</a>&#160;|&#160;<a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a>&#160;|&#160;<a class="qindex" href="#letter_w">w</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;_&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">file_handle::extent_guard</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html">fast_random_file_handle::prng</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">construct&lt; async_file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html">item_base</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html">memory_map::_entity_idx</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html">construct&lt; directory_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html">item_erased</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td></tr>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html">construct&lt; directory_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">fast_random_file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html">log_level_guard</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html">construct&lt; fast_random_file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">process_handle::_byte_array_deleter</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html">construct&lt; file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html">safe_byte_ranges</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html">memory_map::_entity_idx</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html">construct&lt; map_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">io_multiplexer::_registered_buffer_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html">construct&lt; mapped_file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">mapped</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">shared_fs_mutex</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">contents_visitor::_state_type</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html">construct&lt; path_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">io_multiplexer::_synchronised_io_operation_state</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">construct&lt; pipe_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">memory_map</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">statfs_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">io_multiplexer::_unsynchronised_io_operation_state</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">construct&lt; process_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html">storage_profile</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td>
+</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html">construct&lt; fast_random_file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html">statfs_t::f_flags_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">page_allocator&lt; void &gt;::rebind</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html">construct&lt; file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">fast_random_file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html">page_allocator::rebind</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html">construct&lt; map_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html">lock_files</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html">atomic_append</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html">construct&lt; mapped_file_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html">log_level_guard</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html">construct&lt; path_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">io_service::awaitable_post_to_self</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html">construct&lt; section_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html">safe_byte_ranges</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td></tr>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html">construct&lt; section_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">dynamic_thread_pool_group::io_aware_work_item</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">summarize_visitor</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html">construct&lt; symlink_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html">atomic_append</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_visitor::contents_type</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">awaitable_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_multiplexer::io_operation_state</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html">basic_key_value_store::transaction</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html">construct&lt; symlink_handle &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">mapped</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">shared_fs_mutex</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">basic_key_value_store_info</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">memory_map</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">statfs_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">directory_handle::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html">storage_profile</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html">symlink_handle::buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a> (in_place_attach_detach::traits)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html">symlink_handle::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
-</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html">byte_ranges</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a> (in_place_attach_detach::traits)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html">symlink_handle::io_request&lt; buffers_type, ____ &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
-</td></tr>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_multiplexer::io_operation_state_visitor</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html">symlink_handle::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">page_allocator&lt; void &gt;</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">traverse_visitor</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">difference_item</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">directory_handle::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_multiplexer::io_request</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html">trivial_vector_impl</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">basic_key_value_store_info</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html">symlink_handle::io_request&lt; buffers_type, ____ &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html">path_hasher</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html">trivial_vector_impl&lt; true, T &gt;</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_multiplexer::buffer_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a> (in_place_attach_detach::traits)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html">symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html">trivial_vector_iterator</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html">symlink_handle::buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a> (in_place_attach_detach::traits)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_multiplexer::io_result</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;u&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html">discovered_path</a> (<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html">llfio_v2_xxx::path_discovery</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html">is_attachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html">byte_ranges</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html">is_detachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html">discovered_path</a> (<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html">llfio_v2_xxx::path_discovery</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html">symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html">basic_key_value_store::transaction</a> (<a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a>)&#160;&#160;&#160;</td></tr>
-<tr><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">cached_parent_handle_adapter</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">page_allocator&lt; void &gt;</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html">trivial_vector_impl</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html">shared_fs_mutex::entities_guard</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html">is_attachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html">trivial_vector_impl&lt; true, T &gt;</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html">shared_fs_mutex::entity_type</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html">is_detachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html">path_hasher</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html">trivial_vector_iterator</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">llfio_v2_xxx::algorithm::impl</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">symlink_handle::const_buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1error.html">error</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html">is_trivially_attachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct.html">construct</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html">is_trivially_detachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td><td></td></tr>
+</td>
+<td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html">is_trivially_attachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html">fast_random_file_handle::prng</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_w"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;w&#160;&#160;</div></td></tr></table>
+</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html">is_trivially_detachable</a> (<a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">kvstore_v1_xxx::traits</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">cached_parent_handle_adapter</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html">shared_fs_mutex::entities_guard</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">process_memory_usage</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">dynamic_thread_pool_group::work_item</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">io_multiplexer::check_for_any_completed_io_statistics</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html">shared_fs_mutex::entity_type</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html">item_base</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1error.html">error</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html">item_erased</a> (<a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">llfio_v2_xxx::storage_profile</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">write_receiver</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+</tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">compare_visitor</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_multiplexer::const_buffer_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1executor.html">executor</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">read_receiver</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">symlink_handle::const_buffers_type</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">lockable_io_handle::extent_guard</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html">lock_files</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html">page_allocator::rebind</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct.html">construct</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">file_handle::extent_pair</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">io_multiplexer::io_operation_state::lock_guard</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">page_allocator&lt; void &gt;::rebind</a> (<a class="el" href="namespacellfio__v2__xxx_1_1utils.html">llfio_v2_xxx::utils</a>)&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
+</td>
+<td valign="top"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td valign="top"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">reduce_visitor</a> (<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a>)&#160;&#160;&#160;</td>
+<td></td></tr>
+<tr><td></td><td></td><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html">statfs_t::f_flags_t</a> (<a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a>)&#160;&#160;&#160;</td>
+<td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
-<div class="qindex"><a class="qindex" href="#letter__">_</a>&#160;|&#160;<a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
+<div class="qindex"><a class="qindex" href="#letter__">_</a>&#160;|&#160;<a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a>&#160;|&#160;<a class="qindex" href="#letter_u">u</a>&#160;|&#160;<a class="qindex" href="#letter_w">w</a></div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -136,7 +289,7 @@ $(document).ready(function(){initNavTree('classes.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store-members.html b/classkvstore__v1__xxx_1_1basic__key__value__store-members.html
index 43639153..4af96c7a 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store-members.html
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -149,7 +151,7 @@ $(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__v
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store.html b/classkvstore__v1__xxx_1_1basic__key__value__store.html
index 2d099660..dbe282ca 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store.html
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::basic_key_value_store Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -103,8 +105,8 @@ Inheritance diagram for kvstore_v1_xxx::basic_key_value_store:</div>
<img src="classkvstore__v1__xxx_1_1basic__key__value__store.png" usemap="#kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore_map" alt=""/>
<map id="kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore_map" name="kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore_map">
<area href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html" alt="kvstore_v1_xxx::basic_key_value_store::transaction" shape="rect" coords="0,56,303,80"/>
-</map>
- </div></div>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -158,11 +160,11 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="memdesc:a0608d53e48b38adcb71682ed62cc05e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kernel caching used by this store. <br /></td></tr>
<tr class="separator:a0608d53e48b38adcb71682ed62cc05e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58b814ed2c9c93e0834a18ddd7af607"><td class="memItemLeft" align="right" valign="top"><a id="ad58b814ed2c9c93e0834a18ddd7af607"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">handle_type::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">handle_type::buffer_type</a></td></tr>
<tr class="memdesc:ad58b814ed2c9c93e0834a18ddd7af607"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer type used by this store. <br /></td></tr>
<tr class="separator:ad58b814ed2c9c93e0834a18ddd7af607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="memItemLeft" align="right" valign="top"><a id="abaaf3c92d3eed661a3d36b3d73384b0a"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">handle_type::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">handle_type::const_buffer_type</a></td></tr>
<tr class="memdesc:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const buffer type used by this store. <br /></td></tr>
<tr class="separator:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa35af992c033e9abaf6dcb6f52f7b2c"><td class="memItemLeft" align="right" valign="top"><a id="afa35af992c033e9abaf6dcb6f52f7b2c"></a>
@@ -175,12 +177,12 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:ae3623a6180482b7133aeab3a1a8719ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplParams" colspan="2"><a id="a2cea87068cef2cd35b2aec15a5130761"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">io_request</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">handle_type::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">io_request</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">handle_type::io_request</a>&lt; T &gt;</td></tr>
<tr class="memdesc:a2cea87068cef2cd35b2aec15a5130761"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this store. <br /></td></tr>
<tr class="separator:a2cea87068cef2cd35b2aec15a5130761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplParams" colspan="2"><a id="a67508b71656ccd24173677db521c263d"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">io_result</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">handle_type::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">io_result</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">handle_type::io_result</a>&lt; T &gt;</td></tr>
<tr class="memdesc:a67508b71656ccd24173677db521c263d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this store. <br /></td></tr>
<tr class="separator:a67508b71656ccd24173677db521c263d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5e5864b92a51c0ef3ef75f803c2f61"><td class="memItemLeft" align="right" valign="top"><a id="afe5e5864b92a51c0ef3ef75f803c2f61"></a>
@@ -616,7 +618,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>_frozen</b> {false}</
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store.js b/classkvstore__v1__xxx_1_1basic__key__value__store.js
index 18d43e47..cf8c5552 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store.js
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store.js
@@ -23,8 +23,8 @@ var classkvstore__v1__xxx_1_1basic__key__value__store =
[ "basic_key_value_store", "classkvstore__v1__xxx_1_1basic__key__value__store.html#aa695dcea4b55d95bb9063a02f6b72986", null ],
[ "basic_key_value_store", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e", null ],
[ "~basic_key_value_store", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a931e000ddff763502b3ab7ece24f084a", null ],
- [ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef", null ],
[ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065", null ],
+ [ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef", null ],
[ "begin_transaction", "classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36", null ],
[ "bytes_stored", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0", null ],
[ "clear", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39", null ],
@@ -40,8 +40,8 @@ var classkvstore__v1__xxx_1_1basic__key__value__store =
[ "max_size", "classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2", null ],
[ "max_value_size", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386", null ],
[ "open", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46", null ],
- [ "operator=", "classkvstore__v1__xxx_1_1basic__key__value__store.html#abd8e06444f609136f52f63c3bff1f5bc", null ],
[ "operator=", "classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9", null ],
+ [ "operator=", "classkvstore__v1__xxx_1_1basic__key__value__store.html#abd8e06444f609136f52f63c3bff1f5bc", null ],
[ "read", "classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c", null ],
[ "size", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52", null ],
[ "snapshot", "classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72", null ],
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction-members.html b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction-members.html
index 82e661a1..819107d2 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction-members.html
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -151,7 +153,7 @@ $(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__v
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html
index 1de2dfe2..b974634f 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::basic_key_value_store::transaction Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,9 +97,9 @@ Inheritance diagram for kvstore_v1_xxx::basic_key_value_store::transaction:</div
<div class="center">
<img src="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.png" usemap="#kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore::transaction_map" alt=""/>
<map id="kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore::transaction_map" name="kvstore_5Fv1_5Fxxx::basic_5Fkey_5Fvalue_5Fstore::transaction_map">
-<area href="classkvstore__v1__xxx_1_1basic__key__value__store.html" title="A possibly hardware-implemented basic key-value store. " alt="kvstore_v1_xxx::basic_key_value_store" shape="rect" coords="0,0,303,24"/>
-</map>
- </div></div>
+<area href="classkvstore__v1__xxx_1_1basic__key__value__store.html" title="A possibly hardware-implemented basic key-value store." alt="kvstore_v1_xxx::basic_key_value_store" shape="rect" coords="0,0,303,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -146,11 +148,11 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="memdesc:a0608d53e48b38adcb71682ed62cc05e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kernel caching used by this store. <br /></td></tr>
<tr class="separator:a0608d53e48b38adcb71682ed62cc05e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad58b814ed2c9c93e0834a18ddd7af607"><td class="memItemLeft" align="right" valign="top"><a id="ad58b814ed2c9c93e0834a18ddd7af607"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">handle_type::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">handle_type::buffer_type</a></td></tr>
<tr class="memdesc:ad58b814ed2c9c93e0834a18ddd7af607"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer type used by this store. <br /></td></tr>
<tr class="separator:ad58b814ed2c9c93e0834a18ddd7af607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="memItemLeft" align="right" valign="top"><a id="abaaf3c92d3eed661a3d36b3d73384b0a"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">handle_type::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">handle_type::const_buffer_type</a></td></tr>
<tr class="memdesc:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const buffer type used by this store. <br /></td></tr>
<tr class="separator:abaaf3c92d3eed661a3d36b3d73384b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa35af992c033e9abaf6dcb6f52f7b2c"><td class="memItemLeft" align="right" valign="top"><a id="afa35af992c033e9abaf6dcb6f52f7b2c"></a>
@@ -163,12 +165,12 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:ae3623a6180482b7133aeab3a1a8719ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplParams" colspan="2"><a id="a2cea87068cef2cd35b2aec15a5130761"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">io_request</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">handle_type::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a2cea87068cef2cd35b2aec15a5130761"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">io_request</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">handle_type::io_request</a>&lt; T &gt;</td></tr>
<tr class="memdesc:a2cea87068cef2cd35b2aec15a5130761"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this store. <br /></td></tr>
<tr class="separator:a2cea87068cef2cd35b2aec15a5130761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplParams" colspan="2"><a id="a67508b71656ccd24173677db521c263d"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">io_result</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">handle_type::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a67508b71656ccd24173677db521c263d"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">io_result</a> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">handle_type::io_result</a>&lt; T &gt;</td></tr>
<tr class="memdesc:a67508b71656ccd24173677db521c263d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this store. <br /></td></tr>
<tr class="separator:a67508b71656ccd24173677db521c263d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5e5864b92a51c0ef3ef75f803c2f61"><td class="memItemLeft" align="right" valign="top"><a id="afe5e5864b92a51c0ef3ef75f803c2f61"></a>
@@ -591,7 +593,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>_frozen</b> {false}</
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a></li><li class="navelem"><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html">transaction</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.js b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.js
index 04383970..6779e3c6 100644
--- a/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.js
+++ b/classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.js
@@ -19,8 +19,8 @@ var classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction =
[ "size_type", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a9b73e1e034a4eaea7c0b83e870772296", null ],
[ "uri_type", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a230f8e3e03df31d6647e4544853b1502", null ],
[ "value_type", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a2fb5b4325d1dae21818f0ec3b6441fdb", null ],
- [ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a5d1b9afb5721b17ee1b24c53e0d7bbef", null ],
[ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a763d805ef9ca3c5862632d69d285e065", null ],
+ [ "allocator", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a5d1b9afb5721b17ee1b24c53e0d7bbef", null ],
[ "begin_transaction", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#aea4b35a978c902019070e1f09388bc36", null ],
[ "bytes_stored", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a30c0545051ee08ab7b4cd9c76b0a8cb0", null ],
[ "clear", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a1abe01c82b4723667eb6e496f311ff39", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter-members.html b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter-members.html
index c00c1eb6..e906dfd6 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -112,7 +114,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1ca
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html
index f5a77540..02c2771b 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,9 +100,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1ca
Inheritance diagram for llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::cached_5Fparent_5Fhandle_5Fadapter_3C_20T_20_3E_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::algorithm::cached_5Fparent_5Fhandle_5Fadapter_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::algorithm::cached_5Fparent_5Fhandle_5Fadapter_3C_20T_20_3E_map">
-</map>
+ <img src="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@@ -181,7 +181,7 @@ class llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">cached_parent_handle_adapter</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.js b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.js
index 1e340d63..201fffa5 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.js
+++ b/classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.js
@@ -10,8 +10,8 @@ var classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter =
[ "~cached_parent_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#a691bbd9652a959131552eefa6df06886", null ],
[ "close", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#a5580a0db624b29be0ac6d193daff6abe", null ],
[ "current_path", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#a7466e1786bba421e2274af9b0b1caa02", null ],
- [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af5e0564bed2ae3d4c61923724a0b787c", null ],
[ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af4a59a1fad579f55abed7b85c1511950", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af5e0564bed2ae3d4c61923724a0b787c", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#a4c28e391f4c7efb2db3e1af989977c71", null ],
[ "release", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#aee32a4eb83e127d90d1178a23d0570ac", null ],
[ "relink", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#a74d004d93961200f030c70c64dc6b82c", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter-members.html b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter-members.html
index a40f2d27..cb552c2e 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -91,7 +93,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1co
<tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1">combining_handle_adapter</a>()=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712">combining_handle_adapter</a>(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, Args &amp;&amp;... args)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc">combining_handle_adapter</a>(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, io_multiplexer *ctx=nullptr, Args &amp;&amp;... args)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077">combining_handle_adapter</a>(combining_handle_adapter &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479">combining_handle_adapter</a>(const combining_handle_adapter &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="entry"></td></tr>
@@ -116,7 +118,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1co
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html
index 87054b3b..71a75350 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,9 +99,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1co
Inheritance diagram for llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::combining_5Fhandle_5Fadapter_3C_20Op_2C_20Target_2C_20Source_20_3E_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::algorithm::combining_5Fhandle_5Fadapter_3C_20Op_2C_20Target_2C_20Source_20_3E_map" name="llfio_5Fv2_5Fxxx::algorithm::combining_5Fhandle_5Fadapter_3C_20Op_2C_20Target_2C_20Source_20_3E_map">
-</map>
+ <img src="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@@ -126,24 +126,24 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
<tr class="separator:a5f04ab5c665244d2bd8f371f10fd330a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4227056a72bf24e7343ea1a98f4729cf"><td class="memItemLeft" align="right" valign="top"><a id="a4227056a72bf24e7343ea1a98f4729cf"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
<tr class="separator:a4227056a72bf24e7343ea1a98f4729cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a673cbeb0cd107cff01f86dbf64222d18"><td class="memItemLeft" align="right" valign="top"><a id="a673cbeb0cd107cff01f86dbf64222d18"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
<tr class="separator:a673cbeb0cd107cff01f86dbf64222d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cda6dec04c4a26cb7c0b7be967f5ba7"><td class="memItemLeft" align="right" valign="top"><a id="a9cda6dec04c4a26cb7c0b7be967f5ba7"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
<tr class="separator:a9cda6dec04c4a26cb7c0b7be967f5ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6a5bf508fcf2bfefb1cd179d7c4b48f"><td class="memItemLeft" align="right" valign="top"><a id="ae6a5bf508fcf2bfefb1cd179d7c4b48f"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
<tr class="separator:ae6a5bf508fcf2bfefb1cd179d7c4b48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a062212d815f834770edb424487bec4c4"><td class="memTemplParams" colspan="2"><a id="a062212d815f834770edb424487bec4c4"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a062212d815f834770edb424487bec4c4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a062212d815f834770edb424487bec4c4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
<tr class="separator:a062212d815f834770edb424487bec4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dbc56b017dfde90bc9df067838bc6b6"><td class="memTemplParams" colspan="2"><a id="a6dbc56b017dfde90bc9df067838bc6b6"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a6dbc56b017dfde90bc9df067838bc6b6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a6dbc56b017dfde90bc9df067838bc6b6"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:a6dbc56b017dfde90bc9df067838bc6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b7b07cb1282c369b1b663d21c1df3c"><td class="memItemLeft" align="right" valign="top"><a id="ab0b7b07cb1282c369b1b663d21c1df3c"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>target_handle_type</b> = Target</td></tr>
@@ -158,11 +158,11 @@ Public Member Functions</h2></td></tr>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1">combining_handle_adapter</a> ()=default</td></tr>
<tr class="memdesc:aa69b0a7e5b852b6e1b065469c96634b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:aa69b0a7e5b852b6e1b065469c96634b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1709516df5d85349325940187f57712"><td class="memTemplParams" colspan="2"><a id="ad1709516df5d85349325940187f57712"></a>
+<tr class="memitem:aa16c43c11b41fe40c96c2e1d66d2b4cc"><td class="memTemplParams" colspan="2"><a id="aa16c43c11b41fe40c96c2e1d66d2b4cc"></a>
template&lt;class... Args&gt; </td></tr>
-<tr class="memitem:ad1709516df5d85349325940187f57712"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712">combining_handle_adapter</a> (target_handle_type *a, source_handle_type *b, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag flags=flag::none, Args &amp;&amp;... args)</td></tr>
-<tr class="memdesc:ad1709516df5d85349325940187f57712"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, passing any extra arguments to <code>Op::override</code>. <br /></td></tr>
-<tr class="separator:ad1709516df5d85349325940187f57712"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa16c43c11b41fe40c96c2e1d66d2b4cc"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc">combining_handle_adapter</a> (target_handle_type *a, source_handle_type *b, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag flags=flag::none, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx=nullptr, Args &amp;&amp;... args)</td></tr>
+<tr class="memdesc:aa16c43c11b41fe40c96c2e1d66d2b4cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, passing any extra arguments to <code>Op::override</code>. <br /></td></tr>
+<tr class="separator:aa16c43c11b41fe40c96c2e1d66d2b4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae54760bdd0fa784866e9f0e355c62077"><td class="memItemLeft" align="right" valign="top"><a id="ae54760bdd0fa784866e9f0e355c62077"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077">combining_handle_adapter</a> (<a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:ae54760bdd0fa784866e9f0e355c62077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of combining_handle_adapter permitted. <br /></td></tr>
@@ -199,7 +199,24 @@ class llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &
</dl>
<dl class="section warning"><dt>Warning</dt><dd>This class is still in development, do not use.</dd></dl>
<p>This adapter class is a handle implementation which combines one or two other handle implementations in some way determined by <code>Op</code> which must match the form of:</p>
-<div class="fragment"><div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> Target, <span class="keyword">class</span> Source&gt; <span class="keyword">struct </span>Op</div><div class="line">{</div><div class="line"> <span class="keyword">using</span> buffer_type = <span class="keyword">typename</span> Target::buffer_type;</div><div class="line"> <span class="keyword">using</span> const_buffer_type = <span class="keyword">typename</span> Target::const_buffer_type;</div><div class="line"></div><div class="line"> <span class="comment">// Called by default implementation of read() to perform combines of reads</span></div><div class="line"> <span class="keyword">static</span> result&lt;buffer_type&gt; do_read(buffer_type out, buffer_type t, buffer_type s) noexcept;</div><div class="line"> <span class="comment">// Called by default implementation of write() to perform combines of writes</span></div><div class="line"> <span class="keyword">static</span> result&lt;const_buffer_type&gt; do_write(buffer_type t, buffer_type s, const_buffer_type in) noexcept;</div><div class="line"> <span class="comment">// Called by default implementation of write() to adjust returned buffers</span></div><div class="line"> <span class="keyword">static</span> result&lt;const_buffers_type&gt; adjust_written_buffers(const_buffers_type out, const_buffer_type twritten, const_buffer_type toriginal) noexcept;</div><div class="line"></div><div class="line"> <span class="comment">// Inherited into the resulting combining_handle_adapter</span></div><div class="line"> <span class="comment">// Used to inject/override custom member functions and/or eliminate the need for</span></div><div class="line"> <span class="comment">// do_read and do_write</span></div><div class="line"> <span class="keyword">template</span>&lt;<span class="keyword">class</span> Base&gt; <span class="keyword">struct </span>override : <span class="keyword">public</span> Base { <span class="keyword">using</span> Base::Base; };</div><div class="line">};</div></div><!-- fragment --><p>If both input handle types have a base of <code>file_handle</code>, <code>combining_handle_adapter</code> inherits from <code>file_handle</code> and provides the extra member functions which <code>file_handle</code> provides over <code>io_handle</code>. If not, it inherits from <code>io_handle</code>, and provides that class' reduced functionality instead.</p>
+<div class="fragment"><div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> Target, <span class="keyword">class</span> Source&gt; <span class="keyword">struct </span>Op</div>
+<div class="line">{</div>
+<div class="line"> <span class="keyword">using</span> buffer_type = <span class="keyword">typename</span> Target::buffer_type;</div>
+<div class="line"> <span class="keyword">using</span> const_buffer_type = <span class="keyword">typename</span> Target::const_buffer_type;</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Called by default implementation of read() to perform combines of reads</span></div>
+<div class="line"> <span class="keyword">static</span> result&lt;buffer_type&gt; do_read(buffer_type out, buffer_type t, buffer_type s) noexcept;</div>
+<div class="line"> <span class="comment">// Called by default implementation of write() to perform combines of writes</span></div>
+<div class="line"> <span class="keyword">static</span> result&lt;const_buffer_type&gt; do_write(buffer_type t, buffer_type s, const_buffer_type in) noexcept;</div>
+<div class="line"> <span class="comment">// Called by default implementation of write() to adjust returned buffers</span></div>
+<div class="line"> <span class="keyword">static</span> result&lt;const_buffers_type&gt; adjust_written_buffers(const_buffers_type out, const_buffer_type twritten, const_buffer_type toriginal) noexcept;</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Inherited into the resulting combining_handle_adapter</span></div>
+<div class="line"> <span class="comment">// Used to inject/override custom member functions and/or eliminate the need for</span></div>
+<div class="line"> <span class="comment">// do_read and do_write</span></div>
+<div class="line"> <span class="keyword">template</span>&lt;<span class="keyword">class</span> Base&gt; <span class="keyword">struct </span>override : <span class="keyword">public</span> Base { <span class="keyword">using</span> Base::Base; };</div>
+<div class="line">};</div>
+</div><!-- fragment --><p>If both input handle types have a base of <code>file_handle</code>, <code>combining_handle_adapter</code> inherits from <code>file_handle</code> and provides the extra member functions which <code>file_handle</code> provides over <code>io_handle</code>. If not, it inherits from <code>io_handle</code>, and provides that class' reduced functionality instead.</p>
<p>The default implementation of <code>read()</code> and <code>write()</code> allocate temporary buffers, and run <code>Op::do_read()</code> and <code>Op::do_write()</code> on each individual buffer issued by the end user of the combined handles. If each total request is below a page size, the stack is used, else <code>map_handle::map()</code> is used to get whole pages.</p>
<dl class="section note"><dt>Note</dt><dd>If OpenMP is available, <code>LLFIO_DISABLE_OPENMP</code> is not defined, and <code>flag::disable_parallelism</code> is not set, the buffer fill from the two attached handles will be done concurrently.</dd></dl>
<p>Combined reads may read less than inputs, but note that offset and buffers fetched from inputs are those of the request. Combined writes may write less than inputs, but again offset used is that of the request. In other words, this adapter is intended for bulk, mostly 1-to-1, combination and transformation of scatter gather buffers. It is not intended for processing scatter gather buffers.</p>
@@ -218,7 +235,7 @@ class llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.js b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.js
index 66210de3..aa1cd080 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.js
+++ b/classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.js
@@ -16,7 +16,7 @@ var classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter =
[ "source_handle_type", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad9c333e01114cddbed807c7bda522860", null ],
[ "target_handle_type", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ab0b7b07cb1282c369b1b663d21c1df3c", null ],
[ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1", null ],
- [ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712", null ],
+ [ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc", null ],
[ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077", null ],
[ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479", null ],
[ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator-members.html b/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator-members.html
index a3ecc70c..9b0fd9ec 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -121,7 +123,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1im
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html b/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html
index d27ac8eb..d5c6d51a 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -218,7 +220,7 @@ template&lt;bool has_default_construction, class _T &gt; </td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">impl</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html">trivial_vector_iterator</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append-members.html
index 02e74d09..22bc3aee 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -119,7 +121,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
index 80f50334..806a8ea5 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append:
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::atomic_5Fappend_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::atomic_5Fappend_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::atomic_5Fappend_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -202,12 +204,13 @@ Protected Member Functions</h2></td></tr>
<li>Maximum of twelve entities may be locked concurrently.</li>
<li>Wasteful of disk space if used on a non-extents based filing system (e.g. FAT32, ext3). It is best used in <code>/tmp</code> if possible (<code>file_handle::temp_file()</code>). If you really must use a non-extents based filing system, destroy and recreate the object instance periodically to force resetting the lock file's length to zero.</li>
<li>Similarly older operating systems (e.g. Linux &lt; 3.0) do not implement extent hole punching and therefore will also see excessive disk space consumption. Note at the time of writing OS X doesn't implement hole punching at all.</li>
-<li>If your OS doesn't have sane byte range locks (OS X, BSD, older Linuxes) and multiple objects in your process use the same lock file, misoperation will occur. Use lock_files instead.</li>
-</ul>
+<li><p class="startli">If your OS doesn't have sane byte range locks (OS X, BSD, older Linuxes) and multiple objects in your process use the same lock file, misoperation will occur. Use lock_files instead.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd><p class="startdd">Implement hole punching once I port that code from LLFIO v1. </p>
-<p>Decide on some resolution mechanism for sudden process exit. </p>
+<p class="interdd">Decide on some resolution mechanism for sudden process exit. </p>
<p class="enddd">There is a 1 out of 2^64-2 chance of unique id collision. It would be nice if we actually formally checked that our chosen unique id is actually unique. </p>
</dd></dl>
+</li>
+</ul>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2b211531334c21185cbc7fc04a982357"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b211531334c21185cbc7fc04a982357">&#9670;&nbsp;</a></span>_lock()</h2>
@@ -251,13 +254,229 @@ Protected Member Functions</h2></td></tr>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Read from header.last_known_good immediately if possible in order to avoid a duplicate read later </dd></dl>
<p>Implements <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>.</p>
-<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; atomic_append_detail::lock_request lock_request;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span>(out.entities.size() &gt; <span class="keyword">sizeof</span>(lock_request.entities) / <span class="keyword">sizeof</span>(lock_request.entities[0]))</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> errc::argument_list_too_long;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; std::chrono::steady_clock::time_point began_steady;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; std::chrono::system_clock::time_point end_utc;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span>(d)</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">if</span>((d).steady)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; began_steady = std::chrono::steady_clock::now();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; end_utc = (d).to_time_point();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Fire this if an error occurs</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keyword">auto</span> disableunlock = undoer([&amp;] { out.release(); });</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">// Write my lock request immediately</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; memset(&amp;lock_request, 0, <span class="keyword">sizeof</span>(lock_request));</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; lock_request.unique_id = _unique_id;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keyword">auto</span> count = std::chrono::system_clock::now() - std::chrono::system_clock::from_time_t(_header.time_offset);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; lock_request.us_count = std::chrono::duration_cast&lt;std::chrono::microseconds&gt;(count).count();</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; lock_request.items = out.entities.size();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; memcpy(lock_request.entities, out.entities.data(), <span class="keyword">sizeof</span>(lock_request.entities[0]) * out.entities.size());</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span>(!_skip_hashing)</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; lock_request.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((reinterpret_cast&lt;char *&gt;(&amp;lock_request)) + 16, <span class="keyword">sizeof</span>(lock_request) - 16);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="comment">// My lock request will be the file&#39;s current length or higher</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; OUTCOME_TRY(my_lock_request_offset, _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>());</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">auto</span> undo = undoer([<span class="keyword">this</span>] { (void) _h.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(<span class="keyword">false</span>); });</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; file_handle::extent_guard append_guard;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span>(_nfs_compatibility)</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">auto</span> lastbyte = <span class="keyword">static_cast&lt;</span>file_handle::extent_type<span class="keyword">&gt;</span>(-1);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="comment">// Lock up to the beginning of the shadow lock space</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; lastbyte &amp;= ~(1ULL &lt;&lt; 63U);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; OUTCOME_TRY(append_guard_, _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(my_lock_request_offset, lastbyte, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">file_handle::lock_kind::exclusive</a>));</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; append_guard = std::move(append_guard_);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(0, {{reinterpret_cast&lt;byte *&gt;(&amp;lock_request), sizeof(lock_request)}}));</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// Find the record I just wrote</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keyword">alignas</span>(64) byte _buffer[4096 + 2048]; <span class="comment">// 6Kb cache line aligned buffer</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// Read onwards from length as reported before I wrote my lock request</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// until I find my lock request. This loop should never actually iterate</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// except under extreme load conditions.</span><span class="comment"></span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment"> //! \todo Read from header.last_known_good immediately if possible in order</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="comment"> //! to avoid a duplicate read later</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;<span class="comment"></span> <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; file_handle::buffer_type req{_buffer, <span class="keyword">sizeof</span>(_buffer)};</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; file_handle::io_result&lt;file_handle::buffers_type&gt; readoutcome = _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a>({req, my_lock_request_offset});</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="comment">// Should never happen :)</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span>(readoutcome.has_error())</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; LLFIO_LOG_FATAL(<span class="keyword">this</span>, <span class="stringliteral">&quot;atomic_append::lock() saw an error when searching for just written data&quot;</span>);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; std::terminate();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *record, *lastrecord;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">for</span>(record = reinterpret_cast&lt;const atomic_append_detail::lock_request *&gt;(readoutcome.value()[0].data()), lastrecord = reinterpret_cast&lt;const atomic_append_detail::lock_request *&gt;(readoutcome.value()[0].data() + readoutcome.value()[0].size()); record &lt; lastrecord &amp;&amp; record-&gt;hash != lock_request.hash;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; ++record)</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; my_lock_request_offset += <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span>(record-&gt;hash == lock_request.hash)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="comment">// extent_guard is now valid and will be unlocked on error</span></div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; out.hint = my_lock_request_offset;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; disableunlock.dismiss();</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// Lock my request for writing so others can sleep on me</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; file_handle::extent_guard my_request_guard;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">if</span>(!spin_not_sleep)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keyword">auto</span> lock_offset = my_lock_request_offset;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="comment">// Set the top bit to use the shadow lock space on Windows</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; lock_offset |= (1ULL &lt;&lt; 63U);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; OUTCOME_TRY(my_request_guard_, _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(lock_offset, <span class="keyword">sizeof</span>(lock_request), <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">file_handle::lock_kind::exclusive</a>));</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; my_request_guard = std::move(my_request_guard_);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="comment">// Read every record preceding mine until header.first_known_good inclusive</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">auto</span> record_offset = my_lock_request_offset - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; reload:</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="comment">// Refresh the header and load a snapshot of everything between record_offset</span></div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="comment">// and first_known_good or -6Kb, whichever the sooner</span></div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; OUTCOME_TRYV(_read_header());</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="comment">// If there are no preceding records, we&#39;re done</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">if</span>(record_offset &lt; _header.first_known_good)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keyword">auto</span> start_offset = record_offset;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span>(start_offset &gt; <span class="keyword">sizeof</span>(_buffer) - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request))</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; start_offset -= <span class="keyword">sizeof</span>(_buffer) - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; start_offset = <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span>(start_offset &lt; _header.first_known_good)</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; start_offset = _header.first_known_good;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; assert(record_offset &gt;= start_offset);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; assert(record_offset - start_offset &lt;= <span class="keyword">sizeof</span>(_buffer));</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; file_handle::buffer_type req{_buffer, (size_t)(record_offset - start_offset) + <span class="keyword">sizeof</span>(atomic_append_detail::lock_request)};</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; OUTCOME_TRY(batchread, _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a>({req, start_offset}));</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; assert(batchread[0].size() == record_offset - start_offset + <span class="keyword">sizeof</span>(atomic_append_detail::lock_request));</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *record = <span class="keyword">reinterpret_cast&lt;</span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(batchread[0].data() + batchread[0].size() - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request));</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *firstrecord = <span class="keyword">reinterpret_cast&lt;</span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(batchread[0].data());</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="comment">// Skip all completed lock requests or not mentioning any of my entities</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">for</span>(; record &gt;= firstrecord; record_offset -= <span class="keyword">sizeof</span>(atomic_append_detail::lock_request), --record)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="comment">// If a completed lock request, skip</span></div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">if</span>(!record-&gt;hash &amp;&amp; (record-&gt;unique_id == 0u))</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="comment">// If record hash doesn&#39;t match contents it&#39;s a torn read, reload</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span>(!_skip_hashing)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">if</span>(record-&gt;hash != QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((reinterpret_cast&lt;const char *&gt;(record)) + 16, <span class="keyword">sizeof</span>(atomic_append_detail::lock_request) - 16))</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">goto</span> reload;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="comment">// Does this record lock anything I am locking?</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;entity : out.entities)</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; record-&gt;items; n++)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">if</span>(record-&gt;entities[n].value == entity.value)</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="comment">// Is the lock I want exclusive or the lock he wants exclusive?</span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="comment">// If so, need to block</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>((record-&gt;entities[n].exclusive != 0u) || (entity.exclusive != 0u))</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">goto</span> beginwait;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="comment">// None of this batch of records has anything to do with my request, so keep going</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; beginwait:</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">// Sleep until this record is freed using a shared lock</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">// on the record in our way. Note there is a race here</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// between when the lock requester writes the lock</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="comment">// request and when he takes an exclusive lock on it,</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="comment">// so if our shared lock succeeds we need to immediately</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">// unlock and retry based on the data.</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; std::this_thread::yield();</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">if</span>(!spin_not_sleep)</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; {</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; deadline nd;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span>(d)</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; {</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">if</span>((d).steady)</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; std::chrono::nanoseconds ns = std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;((began_steady + std::chrono::nanoseconds((d).nsecs)) - std::chrono::steady_clock::now());</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">if</span>(ns.count() &lt; 0)</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; (nd).nsecs = 0;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; (nd).nsecs = ns.count();</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; {</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; (nd) = (d);</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keyword">auto</span> lock_offset = record_offset;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="comment">// Set the top bit to use the shadow lock space on Windows</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; lock_offset |= (1ULL &lt;&lt; 63U);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(lock_offset, <span class="keyword">sizeof</span>(*record), <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">file_handle::lock_kind::shared</a>, nd));</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="comment">// Make sure we haven&#39;t timed out during this wait</span></div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">if</span>(d)</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">if</span>((d).steady)</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span>(std::chrono::steady_clock::now() &gt;= (began_steady + std::chrono::nanoseconds((d).nsecs)))</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">return</span> errc::timed_out;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; {</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">if</span>(std::chrono::system_clock::now() &gt;= end_utc)</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> errc::timed_out;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; } <span class="keywordflow">while</span>(record_offset &gt;= _header.first_known_good);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> success();</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a6e46c6ea379152eb559ab15990f7c467"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a></div><div class="ttdeci">io_result&lt; size_type &gt; read(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">Convenience initialiser list based overload for read() </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:252</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a101620e9fff0c0e8c346af0e9de58b6a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">llfio_v2_xxx::handle::set_append_only</a></div><div class="ttdeci">virtual result&lt; void &gt; set_append_only(bool enable) noexcept</div><div class="ttdoc">EXTENSION: Changes whether this handle is append only or not. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a7991af58283025b80a7225866643f0b4"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">llfio_v2_xxx::file_handle::maximum_extent</a></div><div class="ttdeci">virtual result&lt; extent_type &gt; maximum_extent() const noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
+<div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; atomic_append_detail::lock_request lock_request;</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(out.entities.size() &gt; <span class="keyword">sizeof</span>(lock_request.entities) / <span class="keyword">sizeof</span>(lock_request.entities[0]))</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> errc::argument_list_too_long;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; std::chrono::steady_clock::time_point began_steady;</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; std::chrono::system_clock::time_point end_utc;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span>(d)</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span>((d).steady)</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; began_steady = std::chrono::steady_clock::now();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; end_utc = (d).to_time_point();</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="comment">// Fire this if an error occurs</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">auto</span> disableunlock = make_scope_exit([&amp;]() noexcept { out.release(); });</div>
+<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
+<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="comment">// Write my lock request immediately</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; memset(&amp;lock_request, 0, <span class="keyword">sizeof</span>(lock_request));</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; lock_request.unique_id = _unique_id;</div>
+<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keyword">auto</span> count = std::chrono::system_clock::now() - std::chrono::system_clock::from_time_t(_header.time_offset);</div>
+<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; lock_request.us_count = std::chrono::duration_cast&lt;std::chrono::microseconds&gt;(count).count();</div>
+<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; lock_request.items = out.entities.size();</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; memcpy(lock_request.entities, out.entities.data(), <span class="keyword">sizeof</span>(lock_request.entities[0]) * out.entities.size());</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span>(!_skip_hashing)</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; lock_request.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(&amp;lock_request)) + 16, <span class="keyword">sizeof</span>(lock_request) - 16);</div>
+<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="comment">// My lock request will be the file&#39;s current length or higher</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;my_lock_request_offset, _h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>());</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(<span class="keyword">true</span>));</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">auto</span> undo = make_scope_exit([<span class="keyword">this</span>]() noexcept { (void) _h.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(<span class="keyword">false</span>); });</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; file_handle::extent_guard append_guard;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span>(_nfs_compatibility)</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
+<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">auto</span> lastbyte = <span class="keyword">static_cast&lt;</span>file_handle::extent_type<span class="keyword">&gt;</span>(-1);</div>
+<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="comment">// Lock up to the beginning of the shadow lock space</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; lastbyte &amp;= ~(1ULL &lt;&lt; 63U);</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;append_guard_, _h.<a class="code" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(my_lock_request_offset, lastbyte, <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>));</div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; append_guard = std::move(append_guard_);</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(0, {{reinterpret_cast&lt;byte *&gt;(&amp;lock_request), sizeof(lock_request)}}));</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
+<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; </div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// Find the record I just wrote</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keyword">alignas</span>(64) <span class="keywordtype">byte</span> _buffer[4096 + 2048]; <span class="comment">// 6Kb cache line aligned buffer</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="comment">// Read onwards from length as reported before I wrote my lock request</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="comment">// until I find my lock request. This loop should never actually iterate</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// except under extreme load conditions.</span><span class="comment"></span></div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;<span class="comment"> //! \todo Read from header.last_known_good immediately if possible in order</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="comment"> //! to avoid a duplicate read later</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;<span class="comment"></span> <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; file_handle::buffer_type req{_buffer, <span class="keyword">sizeof</span>(_buffer)};</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; file_handle::io_result&lt;file_handle::buffers_type&gt; readoutcome = _h.<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>({{&amp;req, 1}, my_lock_request_offset});</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">// Should never happen :)</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span>(readoutcome.has_error())</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; LLFIO_LOG_FATAL(<span class="keyword">this</span>, <span class="stringliteral">&quot;atomic_append::lock() saw an error when searching for just written data&quot;</span>);</div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; std::terminate();</div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *record, *lastrecord;</div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">for</span>(record = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(readoutcome.value()[0].data()), lastrecord = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(readoutcome.value()[0].data() + readoutcome.value()[0].size()); record &lt; lastrecord &amp;&amp; record-&gt;hash != lock_request.hash;</div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; ++record)</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; my_lock_request_offset += <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span>(record-&gt;hash == lock_request.hash)</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; {</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; }</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; </div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// extent_guard is now valid and will be unlocked on error</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; out.hint = my_lock_request_offset;</div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; disableunlock.release();</div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="comment">// Lock my request for writing so others can sleep on me</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; file_handle::extent_guard my_request_guard;</div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(!spin_not_sleep)</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keyword">auto</span> lock_offset = my_lock_request_offset;</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">// Set the top bit to use the shadow lock space on Windows</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; lock_offset |= (1ULL &lt;&lt; 63U);</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;my_request_guard_, _h.<a class="code" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(lock_offset, <span class="keyword">sizeof</span>(lock_request), <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>));</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; my_request_guard = std::move(my_request_guard_);</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; </div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="comment">// Read every record preceding mine until header.first_known_good inclusive</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">auto</span> record_offset = my_lock_request_offset - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">do</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; reload:</div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// Refresh the header and load a snapshot of everything between record_offset</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="comment">// and first_known_good or -6Kb, whichever the sooner</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; OUTCOME_TRYV(_read_header());</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// If there are no preceding records, we&#39;re done</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">if</span>(record_offset &lt; _header.first_known_good)</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keyword">auto</span> start_offset = record_offset;</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span>(start_offset &gt; <span class="keyword">sizeof</span>(_buffer) - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request))</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; start_offset -= <span class="keyword">sizeof</span>(_buffer) - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; start_offset = <span class="keyword">sizeof</span>(atomic_append_detail::lock_request);</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span>(start_offset &lt; _header.first_known_good)</div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; start_offset = _header.first_known_good;</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; assert(record_offset &gt;= start_offset);</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; assert(record_offset - start_offset &lt;= <span class="keyword">sizeof</span>(_buffer));</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; file_handle::buffer_type req{_buffer, (size_t)(record_offset - start_offset) + <span class="keyword">sizeof</span>(atomic_append_detail::lock_request)};</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;batchread, _h.<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>({{&amp;req, 1}, start_offset}));</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; assert(batchread[0].size() == record_offset - start_offset + <span class="keyword">sizeof</span>(atomic_append_detail::lock_request));</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *record = <span class="keyword">reinterpret_cast&lt;</span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(batchread[0].data() + batchread[0].size() - <span class="keyword">sizeof</span>(atomic_append_detail::lock_request));</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keyword">const</span> atomic_append_detail::lock_request *firstrecord = <span class="keyword">reinterpret_cast&lt;</span>atomic_append_detail::lock_request *<span class="keyword">&gt;</span>(batchread[0].data());</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; </div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="comment">// Skip all completed lock requests or not mentioning any of my entities</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">for</span>(; record &gt;= firstrecord; record_offset -= <span class="keyword">sizeof</span>(atomic_append_detail::lock_request), --record)</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="comment">// If a completed lock request, skip</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span>(!record-&gt;hash &amp;&amp; (record-&gt;unique_id == 0u))</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
+<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">// If record hash doesn&#39;t match contents it&#39;s a torn read, reload</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">if</span>(!_skip_hashing)</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
+<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">if</span>(record-&gt;hash != QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(record)) + 16, <span class="keyword">sizeof</span>(atomic_append_detail::lock_request) - 16))</div>
+<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; {</div>
+<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">goto</span> reload;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; </div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">// Does this record lock anything I am locking?</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;entity : out.entities)</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; record-&gt;items; n++)</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div>
+<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(record-&gt;entities[n].value == entity.value)</div>
+<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="comment">// Is the lock I want exclusive or the lock he wants exclusive?</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="comment">// If so, need to block</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">if</span>((record-&gt;entities[n].exclusive != 0u) || (entity.exclusive != 0u))</div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
+<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">goto</span> beginwait;</div>
+<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="comment">// None of this batch of records has anything to do with my request, so keep going</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">continue</span>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; </div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; beginwait:</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="comment">// Sleep until this record is freed using a shared lock</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="comment">// on the record in our way. Note there is a race here</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="comment">// between when the lock requester writes the lock</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="comment">// request and when he takes an exclusive lock on it,</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="comment">// so if our shared lock succeeds we need to immediately</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="comment">// unlock and retry based on the data.</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; std::this_thread::yield();</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(!spin_not_sleep)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; deadline nd;</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">if</span>(d)</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; {</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">if</span>((d).steady)</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; {</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; std::chrono::nanoseconds ns = std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;((began_steady + std::chrono::nanoseconds((d).nsecs)) - std::chrono::steady_clock::now());</div>
+<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span>(ns.count() &lt; 0)</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; (nd).nsecs = 0;</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div>
+<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; (nd).nsecs = ns.count();</div>
+<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; (nd) = (d);</div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">auto</span> lock_offset = record_offset;</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="comment">// Set the top bit to use the shadow lock space on Windows</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; lock_offset |= (1ULL &lt;&lt; 63U);</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; OUTCOME_TRYV(_h.<a class="code" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(lock_offset, <span class="keyword">sizeof</span>(*record), <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>, nd));</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; }</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="comment">// Make sure we haven&#39;t timed out during this wait</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span>(d)</div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">if</span>((d).steady)</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">if</span>(std::chrono::steady_clock::now() &gt;= (began_steady + std::chrono::nanoseconds((d).nsecs)))</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; {</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">return</span> errc::timed_out;</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">if</span>(std::chrono::system_clock::now() &gt;= end_utc)</div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> errc::timed_out;</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; }</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; } <span class="keywordflow">while</span>(record_offset &gt;= _header.first_known_good);</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -318,12 +537,45 @@ Protected Member Functions</h2></td></tr>
</dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>));</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; atomic_append_detail::header header;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="comment">// Lock the entire header for exclusive access</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">auto</span> lockresult = ret.try_lock_range(0, <span class="keyword">sizeof</span>(header), <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">file_handle::lock_kind::exclusive</a>);<span class="comment"></span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> //! \todo fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching.</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span>(lockresult.has_error())</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span>(lockresult.error() != errc::timed_out)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> std::move(lockresult).error();</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// Somebody else is also using this file</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so write a new header and truncate</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; OUTCOME_TRYV(ret.truncate(<span class="keyword">sizeof</span>(header)));</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; memset(&amp;header, 0, <span class="keyword">sizeof</span>(header));</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; header.time_offset = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; header.first_known_good = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; header.first_after_hole_punch = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(!skip_hashing)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; header.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((reinterpret_cast&lt;char *&gt;(&amp;header)) + 16, <span class="keyword">sizeof</span>(header) - 16);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; OUTCOME_TRYV(ret.write(0, {{reinterpret_cast&lt;byte *&gt;(&amp;header), sizeof(header)}}));</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// Open a shared lock on last byte in header to prevent other users zomping the file</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; OUTCOME_TRY(guard, ret.lock_range(<span class="keyword">sizeof</span>(header) - 1, 1, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">file_handle::lock_kind::shared</a>));</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="comment">// Unlock any exclusive lock I gained earlier now</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span>(lockresult)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; lockresult.value().unlock();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// The constructor will read and cache the header</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> atomic_append(std::move(ret), std::move(guard), nfs_compatibility, skip_hashing);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">llfio_v2_xxx::handle::caching::temporary</a></div><div class="ttdoc">Cache reads and writes of data and metadata so they complete immediately, only sending any updates to...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">llfio_v2_xxx::handle::creation::if_needed</a></div><div class="ttdoc">If filesystem entry exists that is used, else one is created. </div></div>
+<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>));</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; atomic_append_detail::header header;</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// Lock the entire header for exclusive access</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">auto</span> lockresult = ret.lock_file_range(0, <span class="keyword">sizeof</span>(header), <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, std::chrono::seconds(0));<span class="comment"></span></div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment"> //! \todo fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span>(lockresult.has_error())</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span>(lockresult.error() != errc::timed_out)</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> std::move(lockresult).error();</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// Somebody else is also using this file</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so write a new header and truncate</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; OUTCOME_TRYV(ret.truncate(<span class="keyword">sizeof</span>(header)));</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; memset(&amp;header, 0, <span class="keyword">sizeof</span>(header));</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; header.time_offset = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; header.first_known_good = <span class="keyword">sizeof</span>(header);</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; header.first_after_hole_punch = <span class="keyword">sizeof</span>(header);</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span>(!skip_hashing)</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; header.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((<span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(&amp;header)) + 16, <span class="keyword">sizeof</span>(header) - 16);</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; OUTCOME_TRYV(ret.write(0, {{reinterpret_cast&lt;byte *&gt;(&amp;header), sizeof(header)}}));</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="comment">// Open a shared lock on last byte in header to prevent other users zomping the file</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;guard, ret.lock_file_range(<span class="keyword">sizeof</span>(header) - 1, 1, <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>));</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="comment">// Unlock any exclusive lock I gained earlier now</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span>(lockresult)</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; lockresult.value().unlock();</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// The constructor will read and cache the header</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> atomic_append(std::move(ret), std::move(guard), nfs_compatibility, skip_hashing);</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -332,13 +584,24 @@ Protected Member Functions</h2></td></tr>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a101620e9fff0c0e8c346af0e9de58b6a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">llfio_v2_xxx::handle::set_append_only</a></div><div class="ttdeci">virtual result&lt; void &gt; set_append_only(bool enable) noexcept</div><div class="ttdoc">EXTENSION: Changes whether this handle is append only or not.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::lock_kind::exclusive</a></div><div class="ttdeci">@ exclusive</div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1lockable__io__handle_html_a0ece4f0a48e1e67debc438a9742a1f4c"><div class="ttname"><a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">llfio_v2_xxx::lockable_io_handle::lock_file_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_file_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access....</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a7991af58283025b80a7225866643f0b4"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">llfio_v2_xxx::file_handle::maximum_extent</a></div><div class="ttdeci">virtual result&lt; extent_type &gt; maximum_extent() const noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">llfio_v2_xxx::handle::creation::if_needed</a></div><div class="ttdeci">@ if_needed</div><div class="ttdoc">If filesystem entry exists that is used, else one is created.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::lock_kind::shared</a></div><div class="ttdeci">@ shared</div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">llfio_v2_xxx::handle::caching::temporary</a></div><div class="ttdeci">@ temporary</div><div class="ttdoc">Cache reads and writes of data and metadata so they complete immediately, only sending any updates to...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdeci">@ write</div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html">atomic_append</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.js b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.js
index e4c5f55f..34ae1649 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.js
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.js
@@ -12,8 +12,8 @@ var classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append =
[ "handle", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5", null ],
[ "lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#adc6284803080e42505ba812d4711bb74", null ],
[ "lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a33dcc1d37df90ac5dd85a754f9ffce04", null ],
- [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6", null ],
[ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6", null ],
[ "random_entity", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b", null ],
[ "try_lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a051822a4942c7f45b0491ab4385aacd3", null ],
[ "try_lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a5a7f463e9235bb95ddd84b69e2642613", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges-members.html
index 271cdc4e..f66848ed 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -119,7 +121,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html
index e3d446ef..03568775 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges:</
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::byte_5Franges_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::byte_5Franges_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::byte_5Franges_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -219,7 +221,7 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html">byte_ranges</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.js b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.js
index f45ccc93..f2e821fc 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.js
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.js
@@ -12,8 +12,8 @@ var classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges =
[ "handle", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469", null ],
[ "lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#adc6284803080e42505ba812d4711bb74", null ],
[ "lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a33dcc1d37df90ac5dd85a754f9ffce04", null ],
- [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331", null ],
[ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331", null ],
[ "random_entity", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b", null ],
[ "try_lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a051822a4942c7f45b0491ab4385aacd3", null ],
[ "try_lock", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a5a7f463e9235bb95ddd84b69e2642613", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files-members.html
index b2d8af54..dbdeada8 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -119,7 +121,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html
index 4f2f65dd..70782b44 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files:</d
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::lock_5Ffiles_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::lock_5Ffiles_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::lock_5Ffiles_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,337,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -218,7 +220,7 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html">lock_files</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map-members.html
index 37f6bf0f..d10c5a67 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -122,7 +124,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
index c0035e76..5ee3e95b 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -103,9 +105,9 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt;
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::memory_5Fmap_3C_20Hasher_2C_20HashIndexSize_2C_20SpinlockType_20_3E_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::memory_5Fmap_3C_20Hasher_2C_20HashIndexSize_2C_20SpinlockType_20_3E_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::memory_5Fmap_3C_20Hasher_2C_20HashIndexSize_2C_20SpinlockType_20_3E_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,558,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,558,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -237,9 +239,10 @@ class llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndex
<li>Sometimes different entities hash to the same offset and collide with one another, causing very poor performance.</li>
<li>Memory mapped files need to be cache unified with normal i/o in your OS kernel. Known OSs which don't use a unified cache for memory mapped and normal i/o are QNX, OpenBSD. Furthermore, doing normal i/o and memory mapped i/o to the same file needs to not corrupt the file. In the past, there have been editions of the Linux kernel and the OS X kernel which did this.</li>
<li>If your OS doesn't have sane byte range locks (OS X, BSD, older Linuxes) and multiple objects in your process use the same lock file, misoperation will occur.</li>
-<li>Requires <code>handle::current_path()</code> to be working.</li>
-</ul>
+<li><p class="startli">Requires <code>handle::current_path()</code> to be working.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>memory_map::_hash_entities needs to hash x16, x8 and x4 at a time to encourage auto vectorisation </dd></dl>
+</li>
+</ul>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a23750199fded35429d27ec4824b65c18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23750199fded35429d27ec4824b65c18">&#9670;&nbsp;</a></span>fs_mutex_map()</h2>
@@ -276,22 +279,82 @@ template&lt;template&lt; class &gt; class Hasher = QUICKCPPLIB_NAMESPACE::algori
</tr>
</table>
</div><div class="memdoc">
-<p>Initialises a shared filing system mutex using the file at <em>lockfile</em>. </p><dl class="section user"><dt>Errors returnable</dt><dd>Awaiting the clang result&lt;&gt; AST parser which auto generates all the error codes which could occur, but a particularly important one is <code>errc::no_lock_available</code> which will be returned if the lock is in use by another computer on a network. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">file_handle::caching::reads</a>));</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; file_handle temph;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// Am I the first person to this file? Lock everything exclusively</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">auto</span> lockinuse = ret.try_lock_range(_initialisingoffset, 2, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">file_handle::lock_kind::exclusive</a>);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span>(lockinuse.has_error())</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span>(lockinuse.error() != errc::timed_out)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// Somebody else is also using this file, so try to read the hash index file I ought to use</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; lockinuse = ret.lock_range(_lockinuseoffset, 1, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">file_handle::lock_kind::shared</a>); <span class="comment">// inuse shared access, blocking</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span>(!lockinuse)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; byte buffer[65536];</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; OUTCOME_TRYV(ret.read(0, {{buffer, 65535}}));</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; path_view temphpath(reinterpret_cast&lt;filesystem::path::value_type *&gt;(buffer));</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; result&lt;file_handle&gt; _temph(in_place_type&lt;file_handle&gt;);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; _temph = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>({}, temphpath, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">file_handle::creation::open_existing</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// If temp file doesn&#39;t exist, I am on a different machine</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span>(!_temph)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// Release the exclusive lock and tell caller that this lock is not available</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> errc::no_lock_available;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; temph = std::move(_temph.value());</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">// Map the hash index file into memory for read/write access</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// Map the path file into memory with its maximum possible size, read only</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so create a new hash index file in /tmp</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>().<a class="code" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() ? <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>() : path_discovery::<a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; OUTCOME_TRY(_temph, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">file_handle::random_file</a>(tempdirh));</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; temph = std::move(_temph);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// Truncate it out to the hash index size, and map it into memory for read/write access</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; OUTCOME_TRYV(temph.truncate(HashIndexSize));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// Write the path of my new hash index file, padding zeros to the nearest page size</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// multiple to work around a race condition in the Linux kernel</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; OUTCOME_TRY(temppath, temph.current_path());</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">char</span> buffer[4096];</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">size_t</span> bytes = temppath.native().size() * <span class="keyword">sizeof</span>(*temppath.c_str());</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; file_handle::const_buffer_type buffers[] = {{<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(temppath.c_str()), bytes}, {<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(buffer), 4096 - (bytes % 4096)}};</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; OUTCOME_TRYV(ret.truncate(65536));</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; OUTCOME_TRYV(ret.write({buffers, 0}));</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="comment">// Map for read the maximum possible path file size, again to avoid race problems</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="comment">/* Take shared locks on inuse. Even if this implementation doesn&#39;t implement</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> atomic downgrade of exclusive range to shared range, we&#39;re fully prepared for other users</span></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> now. The _initialisingoffset remains exclusive to prevent double entry into this init routine.</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; OUTCOME_TRY(lockinuse2, ret.lock_range(_lockinuseoffset, 1, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">file_handle::lock_kind::shared</a>));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; lockinuse = std::move(lockinuse2); <span class="comment">// releases exclusive lock on all three offsets</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:553</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a3141a85996e46a3cc6b238d321198e47"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle::random_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:143</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5c7f6a0a8ffdea22763c75a9319ba0c2"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">llfio_v2_xxx::handle::is_valid</a></div><div class="ttdeci">bool is_valid() const noexcept</div><div class="ttdoc">True if the handle is valid (and usually open) </div><div class="ttdef"><b>Definition:</b> handle.hpp:285</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a00db3d1bbffbdb4237401568c441da21"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle::section</a></div><div class="ttdeci">static result&lt; section_handle &gt; section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">llfio_v2_xxx::handle::caching::temporary</a></div><div class="ttdoc">Cache reads and writes of data and metadata so they complete immediately, only sending any updates to...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">llfio_v2_xxx::handle::caching::reads</a></div><div class="ttdoc">Cache reads only. Writes of data and metadata do not complete until reaching storage (O_SYNC)...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">llfio_v2_xxx::handle::creation::if_needed</a></div><div class="ttdoc">If filesystem entry exists that is used, else one is created. </div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_ade18f14d3ef37488e8967c87faa04d29"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">llfio_v2_xxx::path_discovery::memory_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; memory_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">llfio_v2_xxx::handle::creation::open_existing</a></div><div class="ttdoc">Filesystem entry must already exist. </div></div>
+<p>Initialises a shared filing system mutex using the file at <em>lockfile</em>. </p><dl class="section user"><dt>Errors returnable\n Awaiting the clang result&lt;&gt; AST parser which auto generates all the error codes which could occur,</dt><dd>but a particularly important one is <code>errc::no_lock_available</code> which will be returned if the lock is in use by another computer on a network. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">file_handle::caching::reads</a>));</div>
+<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; file_handle temph;</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="comment">// Am I the first person to this file? Lock everything exclusively</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">auto</span> lockinuse = ret.lock_file_range(_initialisingoffset, 2, <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, std::chrono::seconds(0));</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span>(lockinuse.has_error())</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span>(lockinuse.error() != errc::timed_out)</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// Somebody else is also using this file, so try to read the hash index file I ought to use</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; lockinuse = ret.lock_file_range(_lockinuseoffset, 1, <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>); <span class="comment">// inuse shared access, blocking</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span>(!lockinuse)</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordtype">byte</span> buffer[65536];</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; OUTCOME_TRYV(ret.read(0, {{buffer, 65535}}));</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; path_view temphpath(<span class="keyword">reinterpret_cast&lt;</span>filesystem::path::value_type *<span class="keyword">&gt;</span>(buffer));</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; result&lt;file_handle&gt; _temph(in_place_type&lt;file_handle&gt;);</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; _temph = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>({}, temphpath, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">file_handle::creation::open_existing</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>);</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="comment">// If temp file doesn&#39;t exist, I am on a different machine</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">if</span>(!_temph)</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="comment">// Release the exclusive lock and tell caller that this lock is not available</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> errc::no_lock_available;</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; temph = std::move(_temph.value());</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="comment">// Map the hash index file into memory for read/write access</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="comment">// Map the path file into memory with its maximum possible size, read only</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so create a new hash index file in /tmp</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>().<a class="code" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() ? <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>() : path_discovery::<a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;_temph, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">file_handle::uniquely_named_file</a>(tempdirh));</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; temph = std::move(_temph);</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="comment">// Truncate it out to the hash index size, and map it into memory for read/write access</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; OUTCOME_TRYV(temph.truncate(HashIndexSize));</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div>
+<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div>
+<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="comment">// Write the path of my new hash index file, padding zeros to the nearest page size</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// multiple to work around a race condition in the Linux kernel</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;temppath, temph.current_path());</div>
+<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordtype">char</span> buffer[4096];</div>
+<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div>
+<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">size_t</span> bytes = temppath.native().size() * <span class="keyword">sizeof</span>(*temppath.c_str());</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; file_handle::const_buffer_type buffers[] = {{<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">byte</span> *<span class="keyword">&gt;</span>(temppath.c_str()), bytes}, {<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">byte</span> *<span class="keyword">&gt;</span>(buffer), 4096 - (bytes % 4096)}};</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; OUTCOME_TRYV(ret.truncate(65536));</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; OUTCOME_TRYV(ret.write({buffers, 0}));</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">// Map for read the maximum possible path file size, again to avoid race problems</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="comment">/* Take shared locks on inuse. Even if this implementation doesn&#39;t implement</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> atomic downgrade of exclusive range to shared range, we&#39;re fully prepared for other users</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"> now. The _initialisingoffset remains exclusive to prevent double entry into this init routine.</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;lockinuse2, ret.lock_file_range(_lockinuseoffset, 1, <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>));</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; lockinuse = std::move(lockinuse2); <span class="comment">// releases exclusive lock on all three offsets</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -300,13 +363,28 @@ template&lt;template&lt; class &gt; class Hasher = QUICKCPPLIB_NAMESPACE::algori
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::lock_kind::exclusive</a></div><div class="ttdeci">@ exclusive</div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1section__handle_html_a00db3d1bbffbdb4237401568c441da21"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle::section</a></div><div class="ttdeci">static result&lt; section_handle &gt; section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">llfio_v2_xxx::handle::creation::if_needed</a></div><div class="ttdeci">@ if_needed</div><div class="ttdoc">If filesystem entry exists that is used, else one is created.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::lock_kind::shared</a></div><div class="ttdeci">@ shared</div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a8b7aa986243527fe224425f61c179709"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle::uniquely_named_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; uniquely_named_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:163</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a5c7f6a0a8ffdea22763c75a9319ba0c2"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">llfio_v2_xxx::handle::is_valid</a></div><div class="ttdeci">bool is_valid() const noexcept</div><div class="ttdoc">True if the handle is valid (and usually open)</div><div class="ttdef"><b>Definition:</b> handle.hpp:337</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">llfio_v2_xxx::handle::caching::reads</a></div><div class="ttdeci">@ reads</div><div class="ttdoc">Cache reads only. Writes of data and metadata do not complete until reaching storage (O_SYNC)....</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_ade18f14d3ef37488e8967c87faa04d29"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">llfio_v2_xxx::path_discovery::memory_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; memory_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">llfio_v2_xxx::handle::caching::temporary</a></div><div class="ttdeci">@ temporary</div><div class="ttdoc">Cache reads and writes of data and metadata so they complete immediately, only sending any updates to...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">llfio_v2_xxx::handle::creation::open_existing</a></div><div class="ttdeci">@ open_existing</div><div class="ttdoc">Filesystem entry must already exist.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdeci">@ write</div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:479</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">memory_map</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges-members.html
index f23ba6f6..548e3cce 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -118,7 +120,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html
index 0e3b8459..e0233f6a 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_rang
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::safe_5Fbyte_5Franges_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::safe_5Fbyte_5Franges_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::safe_5Fbyte_5Franges_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,343,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" title="Abstract base class for an object which protects shared filing system resources." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex" shape="rect" coords="0,0,343,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -227,7 +229,7 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html">safe_byte_ranges</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex-members.html
index 5c577c4d..bd1f5a83 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -111,7 +113,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html
index 058a674f..17b93d98 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,13 +103,13 @@ Inheritance diagram for llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mute
<div class="center">
<img src="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::shared_5Ffs_5Fmutex_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::shared_5Ffs_5Fmutex_map" name="llfio_5Fv2_5Fxxx::algorithm::shared_5Ffs_5Fmutex::shared_5Ffs_5Fmutex_map">
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" title="Scalable many entity shared/exclusive file system based lock. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append" shape="rect" coords="0,56,558,80"/>
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" title="Many entity shared/exclusive file system based lock. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges" shape="rect" coords="568,56,1126,80"/>
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" title="Many entity exclusive compatibility file system based lock. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files" shape="rect" coords="1136,56,1694,80"/>
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" title="Many entity memory mapped shared/exclusive file system based lock. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;" shape="rect" coords="1704,56,2262,80"/>
-<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" title="Safe many entity shared/exclusive file system based lock. " alt="llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges" shape="rect" coords="2272,56,2830,80"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" title="Scalable many entity shared/exclusive file system based lock." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append" shape="rect" coords="0,56,558,80"/>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" title="Many entity shared/exclusive file system based lock." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges" shape="rect" coords="568,56,1126,80"/>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" title="Many entity exclusive compatibility file system based lock." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files" shape="rect" coords="1136,56,1694,80"/>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" title="Many entity memory mapped shared/exclusive file system based lock." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;" shape="rect" coords="1704,56,2262,80"/>
+<area href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" title="Safe many entity shared/exclusive file system based lock." alt="llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges" shape="rect" coords="2272,56,2830,80"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -197,7 +199,7 @@ Protected Member Functions</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">shared_fs_mutex</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard-members.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard-members.html
index 1144cd0b..1d42cbe0 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -109,7 +111,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1sh
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html
index 6e656fb3..6c5b90dd 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -156,7 +158,7 @@ unsigned long long&#160;</td><td class="memItemRight" valign="bottom"><b>hint</b
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html">entities_guard</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector-members.html b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector-members.html
index 2ae02f50..4c70a19a 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector-members.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -163,7 +165,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1tr
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html
index d67559f6..a9c4e893 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,8 +103,8 @@ Inheritance diagram for llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt;:</div
<map id="llfio_5Fv2_5Fxxx::algorithm::trivial_5Fvector_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::algorithm::trivial_5Fvector_3C_20T_20_3E_map">
<area href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html" alt="llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;" shape="rect" coords="0,56,339,80"/>
<area href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" alt="llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; false, T &gt;" shape="rect" coords="0,0,339,24"/>
-</map>
- </div></div>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -374,7 +376,7 @@ class llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.js b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.js
index 1b9800dd..348aa795 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.js
+++ b/classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.js
@@ -12,50 +12,50 @@ var classllfio__v2__xxx_1_1algorithm_1_1trivial__vector =
[ "size_type", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9daee40ff05d3b161652273556caf46a", null ],
[ "value_type", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a499cc1593d16f042c2d3266b8e0c205a", null ],
[ "trivial_vector", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ab33af3e39910f56747f00f70dc0c8b4e", null ],
- [ "assign", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa9a12b102e96f3f5e1cc24a71fbf480b", null ],
+ [ "assign", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae539f1d862f516854859e22adad5e833", null ],
[ "at", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0079ec33d245c84ee66b20e88866035b", null ],
[ "at", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7e43886636755ba657a9fb5fce4d1c2f", null ],
[ "back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b3f69d7e670bf45727baa9e9ed30141", null ],
[ "back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aba4b731aa0cd0d654976d34d5c10388f", null ],
- [ "begin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "begin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ad71fa0eddf798fb096dfdaf25af4168c", null ],
+ [ "begin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "capacity", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a02dca783d6e23e7be0b8df620b480175", null ],
[ "cbegin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3392be9db54104020b23c2792c63fa53", null ],
[ "cend", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaf7c20ce48122ee281fffa106e411101", null ],
[ "clear", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7905509edbdc5e9e9819ffb3f31d6d5c", null ],
[ "crbegin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3feb4c15c7805fd403138d677953b285", null ],
[ "crend", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa98cbde51743fcb7d700a29cae27587b", null ],
- [ "data", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "data", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a58741241cb681e797af0862a0571d149", null ],
+ [ "data", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "emplace", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3e63c1cb08d63bb46ea73cbbae5adb07", null ],
[ "emplace_back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0d2381f6d62cb1e12970907992d5df9b", null ],
[ "empty", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaa0a88fe91d9fe0248e114cb7fb487e9", null ],
- [ "end", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "end", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a333d0e231d0b620c0bba5daea857897d", null ],
- [ "erase", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
+ [ "end", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "erase", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9a2918df04a065f07959875c9839af23", null ],
+ [ "erase", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
[ "front", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afd59aa55d1e9bc3a9942f13b964badae", null ],
[ "front", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fc85e32b4db9b8d683ba47e9de4179b", null ],
[ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9ce5b87e963aa7a8f968ed23adcd2046", null ],
- [ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a231c46161cc7164fa0c610c2f61a931c", null ],
- [ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#af7813ac4dde322154b5ca70e06494905", null ],
+ [ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf08fa605a2613a539930c65a51511bb", null ],
+ [ "insert", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a231c46161cc7164fa0c610c2f61a931c", null ],
[ "max_size", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a90fee73d85b733951eab9c2f505f030e", null ],
[ "operator[]", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a01a933a3116abd41955118b607b47bfd", null ],
[ "operator[]", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5", null ],
[ "pop_back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a744356e0eff2be54460ce02b7397acfb", null ],
[ "push_back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf9cba939e2bd11a63eaffafb247163a", null ],
[ "push_back", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b56f458ea957c41ca33e37cd52a28af", null ],
- [ "rbegin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rbegin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afff8e1a93ad371a5844543a3e782f471", null ],
- [ "rend", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
+ [ "rbegin", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rend", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8e9caa72b31819407ee9aaa1e6b21b0f", null ],
+ [ "rend", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
[ "reserve", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a16de143c40c148e26633f4d8ee101644", null ],
- [ "resize", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8cbd61a3899369965a1cbbd7cb21bd31", null ],
[ "resize", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae3338448769e08627b5a7a4242fe9f6f", null ],
+ [ "resize", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8cbd61a3899369965a1cbbd7cb21bd31", null ],
[ "shrink_to_fit", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a19aa2b2535f9880a41f64fb43162ec9e", null ],
[ "size", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a84a6bbb08480b7803a49e203b7501fa0", null ],
[ "swap", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fb1e66f29e8d90eec09316946d3d4f0", null ]
diff --git a/classllfio__v2__xxx_1_1async__file__handle-members.html b/classllfio__v2__xxx_1_1async__file__handle-members.html
deleted file mode 100644
index e6ac86b7..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle-members.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__handle.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>, including all inherited members.</p>
-<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">async_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, barrier_kind kind=barrier_kind::nowait_data_only, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a>(io_service &amp;service, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a>(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da">async_file_handle</a>(async_file_handle &amp;&amp;o) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495">async_file_handle</a>(const async_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4">async_file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe">async_file_handle</a>(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">async_random_file</a>(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">async_temp_file</a>(io_service &amp;service, path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::only_metadata, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">async_temp_inode</a>(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">clone</a>(io_service &amp;service, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clone</b>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">co_read</a>(io_request&lt; buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45">co_read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>(io_request&lt; const_buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f">co_write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928">operator=</a>(async_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25">operator=</a>(const async_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle::operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">swap</a>(async_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~async_file_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1async__file__handle.html b/classllfio__v2__xxx_1_1async__file__handle.html
deleted file mode 100644
index e32de5fd..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle.html
+++ /dev/null
@@ -1,2381 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::async_file_handle Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__handle.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
-<a href="#pub-types">Public Types</a> &#124;
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
-<a href="#pro-methods">Protected Member Functions</a> &#124;
-<a href="#pro-attribs">Protected Attributes</a> &#124;
-<a href="#friends">Friends</a> &#124;
-<a href="classllfio__v2__xxx_1_1async__file__handle-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>An asynchronous handle to an open something.
- <a href="classllfio__v2__xxx_1_1async__file__handle.html#details">More...</a></p>
-
-<p><code>#include &quot;async_file_handle.hpp&quot;</code></p>
-<div class="dynheader">
-Inheritance diagram for llfio_v2_xxx::async_file_handle:</div>
-<div class="dyncontent">
- <div class="center">
- <img src="classllfio__v2__xxx_1_1async__file__handle.png" usemap="#llfio_5Fv2_5Fxxx::async_5Ffile_5Fhandle_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::async_5Ffile_5Fhandle_map" name="llfio_5Fv2_5Fxxx::async_5Ffile_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="98,112,285,136"/>
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,187,80"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="197,56,384,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,187,24"/>
-</map>
- </div></div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type sugar to tell <code>co_await</code> what to do. <a href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a47103e7f1aa1e1c17680d3c1bd108eee"><td class="memItemLeft" align="right" valign="top"><a id="a47103e7f1aa1e1c17680d3c1bd108eee"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>dev_t</b> = file_handle::dev_t</td></tr>
-<tr class="separator:a47103e7f1aa1e1c17680d3c1bd108eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72483b3aad192189df36b94e6853875b"><td class="memItemLeft" align="right" valign="top"><a id="a72483b3aad192189df36b94e6853875b"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>ino_t</b> = file_handle::ino_t</td></tr>
-<tr class="separator:a72483b3aad192189df36b94e6853875b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac1a82f9f61d49d8f6836c823950483ac"><td class="memItemLeft" align="right" valign="top"><a id="ac1a82f9f61d49d8f6836c823950483ac"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_type</b> = <a class="el" href="classllfio__v2__xxx_1_1path__view.html">file_handle::path_view_type</a></td></tr>
-<tr class="separator:ac1a82f9f61d49d8f6836c823950483ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a947560985897895880a7cf0a05f0435f"><td class="memItemLeft" align="right" valign="top"><a id="a947560985897895880a7cf0a05f0435f"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = io_handle::path_type</td></tr>
-<tr class="separator:a947560985897895880a7cf0a05f0435f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0eab5d0be35ec57639fb4fe6cbf17ffa"><td class="memItemLeft" align="right" valign="top"><a id="a0eab5d0be35ec57639fb4fe6cbf17ffa"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = io_handle::extent_type</td></tr>
-<tr class="separator:a0eab5d0be35ec57639fb4fe6cbf17ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a8be71c14785d8ae8cd31b5be17ae10"><td class="memItemLeft" align="right" valign="top"><a id="a0a8be71c14785d8ae8cd31b5be17ae10"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = io_handle::size_type</td></tr>
-<tr class="separator:a0a8be71c14785d8ae8cd31b5be17ae10"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ae40085180ad48887b207701f3679f9"><td class="memItemLeft" align="right" valign="top"><a id="a9ae40085180ad48887b207701f3679f9"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">io_handle::mode</a></td></tr>
-<tr class="separator:a9ae40085180ad48887b207701f3679f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b91b3d3e8a8f371fe7e9196b2fe5ef6"><td class="memItemLeft" align="right" valign="top"><a id="a3b91b3d3e8a8f371fe7e9196b2fe5ef6"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">io_handle::creation</a></td></tr>
-<tr class="separator:a3b91b3d3e8a8f371fe7e9196b2fe5ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aba22575b95c858883002c0cdddee4964"><td class="memItemLeft" align="right" valign="top"><a id="aba22575b95c858883002c0cdddee4964"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">io_handle::caching</a></td></tr>
-<tr class="separator:aba22575b95c858883002c0cdddee4964"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a889495794181a86528c6c736f441bee1"><td class="memItemLeft" align="right" valign="top"><a id="a889495794181a86528c6c736f441bee1"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
-<tr class="separator:a889495794181a86528c6c736f441bee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7a92a9d8516c6fcaec4a42b4da019851"><td class="memItemLeft" align="right" valign="top"><a id="a7a92a9d8516c6fcaec4a42b4da019851"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
-<tr class="separator:a7a92a9d8516c6fcaec4a42b4da019851"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aad616e910b3a23fefca19145598ecb40"><td class="memItemLeft" align="right" valign="top"><a id="aad616e910b3a23fefca19145598ecb40"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
-<tr class="separator:aad616e910b3a23fefca19145598ecb40"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a06fef3b3f063e9f25e95f38ddc248468"><td class="memItemLeft" align="right" valign="top"><a id="a06fef3b3f063e9f25e95f38ddc248468"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
-<tr class="separator:a06fef3b3f063e9f25e95f38ddc248468"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9631849ff4acd52ef8366d97d719beb9"><td class="memItemLeft" align="right" valign="top"><a id="a9631849ff4acd52ef8366d97d719beb9"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
-<tr class="separator:a9631849ff4acd52ef8366d97d719beb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6713883b493de4051863fbaae54bbec3"><td class="memTemplParams" colspan="2"><a id="a6713883b493de4051863fbaae54bbec3"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:a6713883b493de4051863fbaae54bbec3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
-<tr class="separator:a6713883b493de4051863fbaae54bbec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c30e529c467a261444b5841134fa394"><td class="memTemplParams" colspan="2"><a id="a6c30e529c467a261444b5841134fa394"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:a6c30e529c467a261444b5841134fa394"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
-<tr class="separator:a6c30e529c467a261444b5841134fa394"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8c38344215baf024148e144735f3cb67"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> = std::unique_ptr&lt; _erased_io_state_type, _io_state_deleter &gt;</td></tr>
-<tr class="separator:a8c38344215baf024148e144735f3cb67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa25e3ab298152166fc387d8fcfb19a63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> { <b>unknown</b>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>
- }<tr class="memdesc:aa25e3ab298152166fc387d8fcfb19a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:aa25e3ab298152166fc387d8fcfb19a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
-<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
-<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a8b72655442a5c5a17e609a6df96106e0"><td class="memItemLeft" align="right" valign="top"><a id="a8b72655442a5c5a17e609a6df96106e0"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a> ()</td></tr>
-<tr class="memdesc:a8b72655442a5c5a17e609a6df96106e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
-<tr class="separator:a8b72655442a5c5a17e609a6df96106e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e0afe8f9559163a716b722e280e4e13"><td class="memItemLeft" align="right" valign="top"><a id="a4e0afe8f9559163a716b722e280e4e13"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
-<tr class="memdesc:a4e0afe8f9559163a716b722e280e4e13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
-<tr class="separator:a4e0afe8f9559163a716b722e280e4e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ecbdab79c48565dcd2af6e62645d4da"><td class="memItemLeft" align="right" valign="top"><a id="a7ecbdab79c48565dcd2af6e62645d4da"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&amp;o) noexcept=default</td></tr>
-<tr class="memdesc:a7ecbdab79c48565dcd2af6e62645d4da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of async_file_handle permitted. <br /></td></tr>
-<tr class="separator:a7ecbdab79c48565dcd2af6e62645d4da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae021a5a199931162fdf484d8ce27b495"><td class="memItemLeft" align="right" valign="top"><a id="ae021a5a199931162fdf484d8ce27b495"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495">async_file_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;)=delete</td></tr>
-<tr class="memdesc:ae021a5a199931162fdf484d8ce27b495"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use <code>clone()</code>) <br /></td></tr>
-<tr class="separator:ae021a5a199931162fdf484d8ce27b495"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcfbb2ce7944347147475f894af5a6d4"><td class="memItemLeft" align="right" valign="top"><a id="afcfbb2ce7944347147475f894af5a6d4"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:afcfbb2ce7944347147475f894af5a6d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from file_handle permitted. <br /></td></tr>
-<tr class="separator:afcfbb2ce7944347147475f894af5a6d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00be8e5e3cdc19365434a630f4f0c4fe"><td class="memItemLeft" align="right" valign="top"><a id="a00be8e5e3cdc19365434a630f4f0c4fe"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, <a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, dev_t devid, ino_t inode) noexcept</td></tr>
-<tr class="memdesc:a00be8e5e3cdc19365434a630f4f0c4fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle and io_handle permitted. <br /></td></tr>
-<tr class="separator:a00be8e5e3cdc19365434a630f4f0c4fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48e0773d5302f785c343073e42de5928"><td class="memItemLeft" align="right" valign="top"><a id="a48e0773d5302f785c343073e42de5928"></a>
-<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:a48e0773d5302f785c343073e42de5928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment of async_file_handle permitted. <br /></td></tr>
-<tr class="separator:a48e0773d5302f785c343073e42de5928"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af84775bc1d3258fa0e8499e2945a5d25"><td class="memItemLeft" align="right" valign="top"><a id="af84775bc1d3258fa0e8499e2945a5d25"></a>
-<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25">operator=</a> (const <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;)=delete</td></tr>
-<tr class="memdesc:af84775bc1d3258fa0e8499e2945a5d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy assignment. <br /></td></tr>
-<tr class="separator:af84775bc1d3258fa0e8499e2945a5d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c6b5216c28aa0ca145d9f45c82005a3"><td class="memItemLeft" align="right" valign="top"><a id="a7c6b5216c28aa0ca145d9f45c82005a3"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;o) noexcept</td></tr>
-<tr class="memdesc:a7c6b5216c28aa0ca145d9f45c82005a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
-<tr class="separator:a7c6b5216c28aa0ca145d9f45c82005a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a346a7685544490691f50ebb27786c651"><td class="memItemLeft" align="right" valign="top"><a id="a346a7685544490691f50ebb27786c651"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a346a7685544490691f50ebb27786c651"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ce03c6d1b3e3ab38c789cd0fc4fe5ba"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a2ce03c6d1b3e3ab38c789cd0fc4fe5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3407a44d52c4ad075cdf5283c96bf75e"><td class="memItemLeft" align="right" valign="top"><a id="a3407a44d52c4ad075cdf5283c96bf75e"></a>
-virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a3407a44d52c4ad075cdf5283c96bf75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab8b4425981da0c40e684bccbb9a8a30"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:aab8b4425981da0c40e684bccbb9a8a30"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">async_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:aab8b4425981da0c40e684bccbb9a8a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="#aab8b4425981da0c40e684bccbb9a8a30">More...</a><br /></td></tr>
-<tr class="separator:aab8b4425981da0c40e684bccbb9a8a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeca5271cbbf476097c84a56c4a99d58d"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:aeca5271cbbf476097c84a56c4a99d58d"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:aeca5271cbbf476097c84a56c4a99d58d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#aeca5271cbbf476097c84a56c4a99d58d">More...</a><br /></td></tr>
-<tr class="separator:aeca5271cbbf476097c84a56c4a99d58d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afbc86680a51fe4643b74a8d519a4f552"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:afbc86680a51fe4643b74a8d519a4f552"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:afbc86680a51fe4643b74a8d519a4f552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="#afbc86680a51fe4643b74a8d519a4f552">More...</a><br /></td></tr>
-<tr class="separator:afbc86680a51fe4643b74a8d519a4f552"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6319914bb21cb96a000d6d547515b156"><td class="memItemLeft" align="right" valign="top"><a id="a6319914bb21cb96a000d6d547515b156"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a6319914bb21cb96a000d6d547515b156"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0295a939f9d2f37ffb5949c48527dec6"><td class="memItemLeft" align="right" valign="top"><a id="a0295a939f9d2f37ffb5949c48527dec6"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a0295a939f9d2f37ffb5949c48527dec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc8452934b08cfca28ac8eb74aca0664"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:adc8452934b08cfca28ac8eb74aca0664"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#adc8452934b08cfca28ac8eb74aca0664">More...</a><br /></td></tr>
-<tr class="separator:adc8452934b08cfca28ac8eb74aca0664"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ddbd5d7949d8265c098967ddec30a45"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45">co_read</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; lst) noexcept</td></tr>
-<tr class="separator:a0ddbd5d7949d8265c098967ddec30a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3a7030863cef0cdc5646f18e76a43411"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:a3a7030863cef0cdc5646f18e76a43411"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="#a3a7030863cef0cdc5646f18e76a43411">More...</a><br /></td></tr>
-<tr class="separator:a3a7030863cef0cdc5646f18e76a43411"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b835259530bd30f8e49975003323e3f"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f">co_write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst) noexcept</td></tr>
-<tr class="separator:a9b835259530bd30f8e49975003323e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0cfbde678b809518ca005251ec64808"><td class="memItemLeft" align="right" valign="top"><a id="ad0cfbde678b809518ca005251ec64808"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;o) noexcept</td></tr>
-<tr class="memdesc:ad0cfbde678b809518ca005251ec64808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
-<tr class="separator:ad0cfbde678b809518ca005251ec64808"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
-<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
-<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a665ddf5aa47e1d8a94580570a0457c8a"><td class="memItemLeft" align="right" valign="top"><a id="a665ddf5aa47e1d8a94580570a0457c8a"></a>
-virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a> () noexcept override</td></tr>
-<tr class="memdesc:a665ddf5aa47e1d8a94580570a0457c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
-<tr class="separator:a665ddf5aa47e1d8a94580570a0457c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
-<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr>
-<tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr>
-<tr class="separator:ae7735588338065ede0ab9b7f979bc65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e46c6ea379152eb559ab15990f7c467"><td class="memItemLeft" align="right" valign="top"><a id="a6e46c6ea379152eb559ab15990f7c467"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a6e46c6ea379152eb559ab15990f7c467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience initialiser list based overload for <code>read()</code> <br /></td></tr>
-<tr class="separator:a6e46c6ea379152eb559ab15990f7c467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a9910116cc5751398e6b55f06a9a793"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5a9910116cc5751398e6b55f06a9a793"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a5a9910116cc5751398e6b55f06a9a793">More...</a><br /></td></tr>
-<tr class="separator:a5a9910116cc5751398e6b55f06a9a793"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c5c229b11f488d0e9bff74c65737db2"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a3c5c229b11f488d0e9bff74c65737db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4055bb02680af02dcc189f0461bad503"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a4055bb02680af02dcc189f0461bad503"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2919da8c2520240c4e65f18f68872fd0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind) noexcept</td></tr>
-<tr class="separator:a2919da8c2520240c4e65f18f68872fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
-<tr class="memdesc:a0cd024de36cc7cb63d9189f45a9944e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="#a0cd024de36cc7cb63d9189f45a9944e9">More...</a><br /></td></tr>
-<tr class="separator:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7991af58283025b80a7225866643f0b4"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a> () const noexcept</td></tr>
-<tr class="separator:a7991af58283025b80a7225866643f0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2be41c54aff8578e2d0afbf4ae73049f"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a> (extent_type newsize) noexcept</td></tr>
-<tr class="separator:a2be41c54aff8578e2d0afbf4ae73049f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; std::vector&lt; std::pair&lt; extent_type, extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a> () const noexcept</td></tr>
-<tr class="memdesc:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">More...</a><br /></td></tr>
-<tr class="separator:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a50caa94c51aae1f23e7708d3c6a21364"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a50caa94c51aae1f23e7708d3c6a21364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="#a50caa94c51aae1f23e7708d3c6a21364">More...</a><br /></td></tr>
-<tr class="separator:a50caa94c51aae1f23e7708d3c6a21364"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
-<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
-<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
-<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
-<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
-<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
-<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
-<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
-<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
-<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
-<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
-<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
-<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
-<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
-<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
-<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
-<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
-<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
-<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
-<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
-<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
-<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
-<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
-<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
-<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
-<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
-<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
-<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
-<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
-<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
-<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
-<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
-<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
-<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
-<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
-<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
-<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
-<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
-<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
-<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
-<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
-<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
-<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="memItemLeft" align="right" valign="top"><a id="ac24ed4cdb96690d7da95cd17b0f3d090"></a>
-dev_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a> () const noexcept</td></tr>
-<tr class="memdesc:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unless <code>flag::disable_safety_unlinks</code> is set, the device id of the file when opened. <br /></td></tr>
-<tr class="separator:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="memItemLeft" align="right" valign="top"><a id="aad6465d30ee438b860ccc59c0e0fc4dc"></a>
-ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a> () const noexcept</td></tr>
-<tr class="memdesc:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unless <code>flag::disable_safety_unlinks</code> is set, the inode of the file when opened. When combined with st_dev(), forms a unique identifer on this system. <br /></td></tr>
-<tr class="separator:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9793fe40564fda2437783488bd51b9f1"><td class="memItemLeft" align="right" valign="top"><a id="a9793fe40564fda2437783488bd51b9f1"></a>
-<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a> () const noexcept</td></tr>
-<tr class="memdesc:a9793fe40564fda2437783488bd51b9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique identifier for this handle across the entire system. Can be used in hash tables etc. <br /></td></tr>
-<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
-<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
-<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
-Static Public Member Functions</h2></td></tr>
-<tr class="memitem:aa7511a8b300c448a5a0eeaea499e665e"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:aa7511a8b300c448a5a0eeaea499e665e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5c899908f131b4655d422fe0e2bea43"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">async_random_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:ac5c899908f131b4655d422fe0e2bea43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a29b67fe2f2b0d1bf7cf4e375245064e6"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">async_temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
-<tr class="separator:a29b67fe2f2b0d1bf7cf4e375245064e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a298da3527b205554e1baee012fa94661"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">async_temp_inode</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a298da3527b205554e1baee012fa94661"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09e6b3e9806b328a687a55e955b885a3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a09e6b3e9806b328a687a55e955b885a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3141a85996e46a3cc6b238d321198e47"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a3141a85996e46a3cc6b238d321198e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a428114e3c8628c0621b1aa156051651c"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
-<tr class="separator:a428114e3c8628c0621b1aa156051651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1eff21e1833be0c21f72477c593fadc5"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a1eff21e1833be0c21f72477c593fadc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
-Protected Member Functions</h2></td></tr>
-<tr class="memitem:adc2b24484565bcb0cf654adf2f732f7e"><td class="memItemLeft" align="right" valign="top"><a id="adc2b24484565bcb0cf654adf2f732f7e"></a>
-result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a> () const noexcept</td></tr>
-<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
-<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
-Protected Attributes</h2></td></tr>
-<tr class="memitem:aa2c2b2847fd039b9c255633e6031817a"><td class="memItemLeft" align="right" valign="top"><a id="aa2c2b2847fd039b9c255633e6031817a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
-<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
-<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
-dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
-<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memItemLeft" align="right" valign="top"><a id="a8454764db3cd47e65ec7853b9cb0b3fa"></a>
-ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td></tr>
-<tr class="separator:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
-Friends</h2></td></tr>
-<tr class="memitem:ae9f4f5f9cc386f5188a9977145edbe6c"><td class="memItemLeft" align="right" valign="top"><a id="ae9f4f5f9cc386f5188a9977145edbe6c"></a>
-class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td></tr>
-<tr class="separator:ae9f4f5f9cc386f5188a9977145edbe6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>An asynchronous handle to an open something. </p>
-<dl class="section note"><dt>Note</dt><dd>Unlike the others, <code>async_file_handle</code> defaults to <code>only_metadata</code> caching as that is the only use case where using async i/o makes sense given the other options below.</dd></dl>
-<table class="doxtable">
-<tr>
-<th></th><th>Cost of opening</th><th>Cost of i/o</th><th>Concurrency and Atomicity</th><th>Other remarks </th></tr>
-<tr>
-<td><code>file_handle</code></td><td>Least</td><td>Syscall</td><td>POSIX guarantees (usually)</td><td>Least gotcha </td></tr>
-<tr>
-<td><code>async_file_handle</code></td><td>More</td><td>Most (syscall + malloc/free + reactor)</td><td>POSIX guarantees (usually)</td><td>Makes no sense to use with cached i/o as it's a very expensive way to call <code>memcpy()</code> </td></tr>
-<tr>
-<td><code>mapped_file_handle</code></td><td>Most</td><td>Least</td><td>None</td><td>Cannot be used with uncached i/o </td></tr>
-</table>
-<dl class="section warning"><dt>Warning</dt><dd>i/o initiated by this class MUST be on the same kernel thread as which created the owning <code>io_service</code> which MUST also be the same kernel thread as which runs the i/o service's <code>run()</code> function.</dd></dl>
-<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> (void) h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; llfio::eager&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;llfio::eager&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div></div><!-- fragment --></div><h2 class="groupheader">Member Typedef Documentation</h2>
-<a id="a8c38344215baf024148e144735f3cb67"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8c38344215baf024148e144735f3cb67">&#9670;&nbsp;</a></span>io_state_ptr</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">llfio_v2_xxx::async_file_handle::io_state_ptr</a> = std::unique_ptr&lt;_erased_io_state_type, _io_state_deleter&gt;</td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Smart pointer to state of an i/o in progress. Destroying this before an i/o has completed is <b>blocking</b> because the i/o must be cancelled before the destructor can safely exit. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
-</div>
-</div>
-<a id="aa25e3ab298152166fc387d8fcfb19a63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa25e3ab298152166fc387d8fcfb19a63">&#9670;&nbsp;</a></span>lock_kind</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle::lock_kind</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>The kinds of concurrent user exclusion which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"></a>shared&#160;</td><td class="fielddoc"><p>Exclude only those requesting an exclusive lock on the same inode. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"></a>exclusive&#160;</td><td class="fielddoc"><p>Exclude those requesting any kind of lock on the same inode. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; unknown,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; shared, <span class="comment">//!&lt; Exclude only those requesting an exclusive lock on the same inode.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> exclusive <span class="comment">//!&lt; Exclude those requesting any kind of lock on the same inode.</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aab8b4425981da0c40e684bccbb9a8a30"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab8b4425981da0c40e684bccbb9a8a30">&#9670;&nbsp;</a></span>async_barrier()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a>&gt; llfio_v2_xxx::async_file_handle::async_barrier </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a barrier to occur asynchronously. </p>
-<dl class="section note"><dt>Note</dt><dd>All the caveats and exclusions which apply to <code>barrier()</code> also apply here. Note that Microsoft Windows does not support asynchronously executed barriers, and this call will fail on that operating system.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;const_buffers_type&gt; &amp;&amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>barrier()</code>. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>barrier()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {}) noexcept</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; operation_t operation = operation_t::fsync_sync;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>)</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; operation = operation_t::fsync_async;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; operation = operation_t::dsync_sync;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>)</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; {</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; operation = operation_t::dsync_async;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation, <span class="keyword">reinterpret_cast&lt;</span>io_request&lt;const_buffers_type&gt; &amp;<span class="keyword">&gt;</span>(reqs), std::move(ch));</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">llfio_v2_xxx::io_handle::barrier_kind::nowait_all</a></div><div class="ttdoc">Barrier data and the metadata to retrieve it, non-blocking. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">llfio_v2_xxx::io_handle::barrier_kind::wait_data_only</a></div><div class="ttdoc">Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using nvram_barrier() for even better performance. </div></div>
-<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">llfio_v2_xxx::io_handle::barrier_kind::nowait_data_only</a></div><div class="ttdoc">Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using nvra...</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="aa7511a8b300c448a5a0eeaea499e665e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa7511a8b300c448a5a0eeaea499e665e">&#9670;&nbsp;</a></span>async_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file_handle::async_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create an async file handle opening access to a file on path using the given io_service. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">service</td><td>The <code>io_service</code> to use. </td></tr>
- <tr><td class="paramname">base</td><td>Handle to a base location on the filing system. Pass <code>{}</code> to indicate that path will be absolute. </td></tr>
- <tr><td class="paramname">_path</td><td>The path relative to base to open. </td></tr>
- <tr><td class="paramname">_mode</td><td>How to open the file. </td></tr>
- <tr><td class="paramname">_creation</td><td>How to create the file. </td></tr>
- <tr><td class="paramname">_caching</td><td>How to ask the kernel to cache the file. </td></tr>
- <tr><td class="paramname">flags</td><td>Any additional custom behaviours.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// Open it overlapped, otherwise no difference.</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(std::move(base), _path, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> | flag::overlapped));</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; ret._service = &amp;<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_ae7735588338065ede0ab9b7f979bc65a"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle::service</a></div><div class="ttdeci">io_service * service() const noexcept</div><div class="ttdoc">The i/o service this handle is attached to, if any. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:247</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a8b72655442a5c5a17e609a6df96106e0"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle::async_file_handle</a></div><div class="ttdeci">constexpr async_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:90</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ac5c899908f131b4655d422fe0e2bea43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5c899908f131b4655d422fe0e2bea43">&#9670;&nbsp;</a></span>async_random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file_handle::async_random_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create an async file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; result&lt;async_file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a>(<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_ae7735588338065ede0ab9b7f979bc65a"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle::service</a></div><div class="ttdeci">io_service * service() const noexcept</div><div class="ttdoc">The i/o service this handle is attached to, if any. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:247</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_aa7511a8b300c448a5a0eeaea499e665e"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle::async_file</a></div><div class="ttdeci">static result&lt; async_file_handle &gt; async_file(io_service &amp;service, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:138</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="aeca5271cbbf476097c84a56c4a99d58d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeca5271cbbf476097c84a56c4a99d58d">&#9670;&nbsp;</a></span>async_read()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a>&gt; llfio_v2_xxx::async_file_handle::async_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a read to occur asynchronously. </p>
-<p>Note that some OS kernels can only process a limited number async i/o operations at a time. You should therefore check for the error <code>errc::resource_unavailable_try_again</code> and gracefully reschedule the i/o for a later time. This temporary failure may be returned immediately, or to the completion handler and hence you ought to handle both situations.</p>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;buffers_type&gt; &amp;&amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>read()</code>. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>read()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {}) noexcept</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.read)); }</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::read, io_request&lt;const_buffers_type&gt;({<span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(reqs.buffers.data()), reqs.buffers.size()}, reqs.offset), std::move(ch));</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a29b67fe2f2b0d1bf7cf4e375245064e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a29b67fe2f2b0d1bf7cf4e375245064e6">&#9670;&nbsp;</a></span>async_temp_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file_handle::async_temp_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create an async file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>async_random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">async_random_file</a>(<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a>(<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_ae7735588338065ede0ab9b7f979bc65a"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle::service</a></div><div class="ttdeci">io_service * service() const noexcept</div><div class="ttdoc">The i/o service this handle is attached to, if any. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:247</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_aa7511a8b300c448a5a0eeaea499e665e"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle::async_file</a></div><div class="ttdeci">static result&lt; async_file_handle &gt; async_file(io_service &amp;service, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:138</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_ac5c899908f131b4655d422fe0e2bea43"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">llfio_v2_xxx::async_file_handle::async_random_file</a></div><div class="ttdeci">static result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:154</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a298da3527b205554e1baee012fa94661"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a298da3527b205554e1baee012fa94661">&#9670;&nbsp;</a></span>async_temp_inode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file_handle::async_temp_inode </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p><em>Securely</em> create an async file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="comment">// Open it overlapped, otherwise no difference.</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">file_handle::temp_inode</a>(dir, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> | flag::overlapped));</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; ret._service = &amp;<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_ae7735588338065ede0ab9b7f979bc65a"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle::service</a></div><div class="ttdeci">io_service * service() const noexcept</div><div class="ttdoc">The i/o service this handle is attached to, if any. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:247</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a8b72655442a5c5a17e609a6df96106e0"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle::async_file_handle</a></div><div class="ttdeci">constexpr async_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:90</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a1eff21e1833be0c21f72477c593fadc5"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle::temp_inode</a></div><div class="ttdeci">static result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="afbc86680a51fe4643b74a8d519a4f552"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbc86680a51fe4643b74a8d519a4f552">&#9670;&nbsp;</a></span>async_write()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a>&gt; llfio_v2_xxx::async_file_handle::async_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a write to occur asynchronously. </p>
-<p>Note that some OS kernels can only process a limited number async i/o operations at a time. You should therefore check for the error <code>errc::resource_unavailable_try_again</code> and gracefully reschedule the i/o for a later time. This temporary failure may be returned immediately, or to the completion handler and hence you ought to handle both situations.</p>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;const_buffers_type&gt; &amp;&amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>write()</code>. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>write()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem in not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {}) noexcept</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; }</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::write, reqs, std::move(ch));</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-
-</div>
-</div>
-<a id="a2ce03c6d1b3e3ab38c789cd0fc4fe5ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file_handle::clone </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Clone this handle to a different io_service (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">file_handle::clone</a>(mode_, caching_, d));</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; ret._service = &amp;<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_ae7735588338065ede0ab9b7f979bc65a"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle::service</a></div><div class="ttdeci">io_service * service() const noexcept</div><div class="ttdoc">The i/o service this handle is attached to, if any. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:247</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a8b72655442a5c5a17e609a6df96106e0"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle::async_file_handle</a></div><div class="ttdeci">constexpr async_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:90</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aeea4389189021b94dde6d8f2c3ccc5b3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle::clone</a></div><div class="ttdeci">result&lt; handle &gt; clone() const noexcept</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-
-</div>
-</div>
-<a id="adc8452934b08cfca28ac8eb74aca0664"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc8452934b08cfca28ac8eb74aca0664">&#9670;&nbsp;</a></span>co_read() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::async_file_handle::co_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a read to occur asynchronously. </p>
-<dl class="section return"><dt>Returns</dt><dd>An awaitable, which when <code>co_await</code>ed upon, suspends execution of the coroutine until the operation has completed, resuming with the buffers read, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for read(), plus ENOMEM. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(reqs, awaitable_state&lt;buffers_type&gt;()));</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">return</span> awaitable&lt;buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_aeca5271cbbf476097c84a56c4a99d58d"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">llfio_v2_xxx::async_file_handle::async_read</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_read(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:443</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a0ddbd5d7949d8265c098967ddec30a45"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0ddbd5d7949d8265c098967ddec30a45">&#9670;&nbsp;</a></span>co_read() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::async_file_handle::co_read </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; {</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(buffer_type) * lst.size()));</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(buffer_type) * lst.size());</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; io_request&lt;buffers_type&gt; reqs(buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">co_read</a>(reqs);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_adc8452934b08cfca28ac8eb74aca0664"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">llfio_v2_xxx::async_file_handle::co_read</a></div><div class="ttdeci">result&lt; awaitable&lt; buffers_type &gt; &gt; co_read(io_request&lt; buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:571</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a3a7030863cef0cdc5646f18e76a43411"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3a7030863cef0cdc5646f18e76a43411">&#9670;&nbsp;</a></span>co_write() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::async_file_handle::co_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a write to occur asynchronously. </p>
-<dl class="section return"><dt>Returns</dt><dd>An awaitable, which when <code>co_await</code>ed upon, suspends execution of the coroutine until the operation has completed, resuming with the buffers written, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for write(), plus ENOMEM. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(reqs, awaitable_state&lt;const_buffers_type&gt;()));</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">return</span> awaitable&lt;const_buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_afbc86680a51fe4643b74a8d519a4f552"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle::async_write</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_write(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:487</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a9b835259530bd30f8e49975003323e3f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9b835259530bd30f8e49975003323e3f">&#9670;&nbsp;</a></span>co_write() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::async_file_handle::co_write </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; io_request&lt;const_buffers_type&gt; reqs(const_buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>(reqs);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a3a7030863cef0cdc5646f18e76a43411"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">llfio_v2_xxx::async_file_handle::co_write</a></div><div class="ttdeci">result&lt; awaitable&lt; const_buffers_type &gt; &gt; co_write(io_request&lt; const_buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:597</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00a85eec5a41f7edb2c574d40cf04535">&#9670;&nbsp;</a></span>current_path()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;path_type&gt; llfio_v2_xxx::handle::current_path </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
-<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
-<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
-
-</div>
-</div>
-<a id="a1c2c1c27b1be6414415b3fc3fcda88b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">&#9670;&nbsp;</a></span>extents()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;std::vector&lt;std::pair&lt;extent_type, extent_type&gt; &gt; &gt; llfio_v2_xxx::file_handle::extents </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Returns a list of currently valid extents for this open file. WARNING: racy! </p>
-<dl class="section return"><dt>Returns</dt><dd>A vector of pairs of extent offset + extent length representing the valid extents in this file. Filing systems which do not support extents return a single extent matching the length of the file rather than returning an error. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<a id="a09e6b3e9806b328a687a55e955b885a3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09e6b3e9806b328a687a55e955b885a3">&#9670;&nbsp;</a></span>file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle opening access to a file on path </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">base</td><td>Handle to a base location on the filing system. Pass <code>{}</code> to indicate that path will be absolute. </td></tr>
- <tr><td class="paramname">path</td><td>The path relative to base to open. </td></tr>
- <tr><td class="paramname">_mode</td><td>How to open the file. </td></tr>
- <tr><td class="paramname">_creation</td><td>How to create the file. </td></tr>
- <tr><td class="paramname">_caching</td><td>How to ask the kernel to cache the file. </td></tr>
- <tr><td class="paramname">flags</td><td>Any additional custom behaviours.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-
-</div>
-</div>
-<a id="a5a9910116cc5751398e6b55f06a9a793"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a9910116cc5751398e6b55f06a9a793">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[1/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </p>
-<ul>
-<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
-<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
-</ul>
-<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to lock. </td></tr>
- <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return, <code>errc::timed_out</code>, <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<a id="a3c5c229b11f488d0e9bff74c65737db2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c5c229b11f488d0e9bff74c65737db2">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[2/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; bytes += i.size();</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>, d);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a4055bb02680af02dcc189f0461bad503"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4055bb02680af02dcc189f0461bad503">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[3/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; bytes += i.size();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, d);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
-<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
-
-</div>
-</div>
-<a id="a7991af58283025b80a7225866643f0b4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7991af58283025b80a7225866643f0b4">&#9670;&nbsp;</a></span>maximum_extent()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::file_handle::maximum_extent </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Return the current maximum permitted extent of the file.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a865caad2f7f4bdf12fb74aabfe3c5ff5">&#9670;&nbsp;</a></span>parent_path_handle()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::fs_handle::parent_path_handle </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
-<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
-
-</div>
-</div>
-<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
- <td>(</td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
-<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
-<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
-<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
-<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
-<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
-<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
-<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a3141a85996e46a3cc6b238d321198e47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::random_file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Read data from the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
-</div>
-</div>
-<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8700edc9ecd4dd35d5aad7c65dd0eca2">&#9670;&nbsp;</a></span>relink()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::relink </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
- <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
- <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
-
-</div>
-</div>
-<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::handle::set_append_only </td>
- <td>(</td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>enable</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>EXTENSION: Changes whether this handle is append only or not. </p>
-<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
-
-</div>
-</div>
-<a id="a428114e3c8628c0621b1aa156051651c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a428114e3c8628c0621b1aa156051651c">&#9670;&nbsp;</a></span>temp_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::temp_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a3141a85996e46a3cc6b238d321198e47"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle::random_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:143</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a1eff21e1833be0c21f72477c593fadc5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1eff21e1833be0c21f72477c593fadc5">&#9670;&nbsp;</a></span>temp_inode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::temp_inode </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirh</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-
-</div>
-</div>
-<a id="a2be41c54aff8578e2d0afbf4ae73049f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2be41c54aff8578e2d0afbf4ae73049f">&#9670;&nbsp;</a></span>truncate()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::file_handle::truncate </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>newsize</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Resize the current maximum permitted extent of the file to the given extent, avoiding any new allocation of physical storage where supported. Note that on extents based filing systems this will succeed even if there is insufficient free space on the storage medium.</p>
-<dl class="section return"><dt>Returns</dt><dd>The bytes actually truncated to. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">newsize</td><td>The bytes to truncate the file to. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<a id="a2919da8c2520240c4e65f18f68872fd0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2919da8c2520240c4e65f18f68872fd0">&#9670;&nbsp;</a></span>try_lock_range()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::try_lock_range </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(offset, bytes, kind, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
-
-</div>
-</div>
-<a id="a0cd024de36cc7cb63d9189f45a9944e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0cd024de36cc7cb63d9189f45a9944e9">&#9670;&nbsp;</a></span>unlock_range()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual void llfio_v2_xxx::file_handle::unlock_range </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>EXTENSION: Unlocks a byte range previously locked. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
-</div>
-</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;size_type&gt; llfio_v2_xxx::io_handle::write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a50caa94c51aae1f23e7708d3c6a21364"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50caa94c51aae1f23e7708d3c6a21364">&#9670;&nbsp;</a></span>zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::file_handle::zero </td>
- <td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Efficiently zero, and possibly deallocate, data on storage. </p>
-<p>On most major operating systems and with recent filing systems which are "extents based", one can deallocate the physical storage of a file, causing the space deallocated to appear all bits zero. This call attempts to deallocate whole pages (usually 4Kb) entirely, and memset's any excess to all bits zero. This call works on most Linux filing systems with a recent kernel, Microsoft Windows with NTFS, and FreeBSD with ZFS. On other systems it simply writes zeros.</p>
-<dl class="section return"><dt>Returns</dt><dd>The bytes zeroed. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">offset</td><td>The offset to start zeroing from. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to zero. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1async__file__handle.js b/classllfio__v2__xxx_1_1async__file__handle.js
deleted file mode 100644
index 1aa6371c..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle.js
+++ /dev/null
@@ -1,113 +0,0 @@
-var classllfio__v2__xxx_1_1async__file__handle =
-[
- [ "awaitable", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable" ],
- [ "buffer_type", "classllfio__v2__xxx_1_1async__file__handle.html#a7a92a9d8516c6fcaec4a42b4da019851", null ],
- [ "buffers_type", "classllfio__v2__xxx_1_1async__file__handle.html#a06fef3b3f063e9f25e95f38ddc248468", null ],
- [ "caching", "classllfio__v2__xxx_1_1async__file__handle.html#aba22575b95c858883002c0cdddee4964", null ],
- [ "const_buffer_type", "classllfio__v2__xxx_1_1async__file__handle.html#aad616e910b3a23fefca19145598ecb40", null ],
- [ "const_buffers_type", "classllfio__v2__xxx_1_1async__file__handle.html#a9631849ff4acd52ef8366d97d719beb9", null ],
- [ "creation", "classllfio__v2__xxx_1_1async__file__handle.html#a3b91b3d3e8a8f371fe7e9196b2fe5ef6", null ],
- [ "dev_t", "classllfio__v2__xxx_1_1async__file__handle.html#a47103e7f1aa1e1c17680d3c1bd108eee", null ],
- [ "extent_type", "classllfio__v2__xxx_1_1async__file__handle.html#a0eab5d0be35ec57639fb4fe6cbf17ffa", null ],
- [ "flag", "classllfio__v2__xxx_1_1async__file__handle.html#a889495794181a86528c6c736f441bee1", null ],
- [ "ino_t", "classllfio__v2__xxx_1_1async__file__handle.html#a72483b3aad192189df36b94e6853875b", null ],
- [ "io_request", "classllfio__v2__xxx_1_1async__file__handle.html#a6713883b493de4051863fbaae54bbec3", null ],
- [ "io_result", "classllfio__v2__xxx_1_1async__file__handle.html#a6c30e529c467a261444b5841134fa394", null ],
- [ "io_state_ptr", "classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67", null ],
- [ "mode", "classllfio__v2__xxx_1_1async__file__handle.html#a9ae40085180ad48887b207701f3679f9", null ],
- [ "path_type", "classllfio__v2__xxx_1_1async__file__handle.html#a947560985897895880a7cf0a05f0435f", null ],
- [ "path_view_type", "classllfio__v2__xxx_1_1async__file__handle.html#ac1a82f9f61d49d8f6836c823950483ac", null ],
- [ "size_type", "classllfio__v2__xxx_1_1async__file__handle.html#a0a8be71c14785d8ae8cd31b5be17ae10", null ],
- [ "unique_id_type", "classllfio__v2__xxx_1_1async__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
- [ "lock_kind", "classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63", [
- [ "unknown", "classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a", null ],
- [ "shared", "classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e", null ],
- [ "exclusive", "classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7", null ]
- ] ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0", null ],
- [ "~async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a3674e63b664f6e3926991dc00c1312d2", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe", null ],
- [ "_fetch_inode", "classllfio__v2__xxx_1_1async__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
- [ "are_reads_from_cache", "classllfio__v2__xxx_1_1async__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
- [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1async__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
- [ "are_writes_durable", "classllfio__v2__xxx_1_1async__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "async_barrier", "classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30", null ],
- [ "async_read", "classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d", null ],
- [ "async_write", "classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552", null ],
- [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a346a7685544490691f50ebb27786c651", null ],
- [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
- [ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba", null ],
- [ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#a3407a44d52c4ad075cdf5283c96bf75e", null ],
- [ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
- [ "close", "classllfio__v2__xxx_1_1async__file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a", null ],
- [ "co_read", "classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664", null ],
- [ "co_read", "classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45", null ],
- [ "co_write", "classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411", null ],
- [ "co_write", "classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f", null ],
- [ "current_path", "classllfio__v2__xxx_1_1async__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
- [ "extents", "classllfio__v2__xxx_1_1async__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2", null ],
- [ "flags", "classllfio__v2__xxx_1_1async__file__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
- [ "is_append_only", "classllfio__v2__xxx_1_1async__file__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
- [ "is_directory", "classllfio__v2__xxx_1_1async__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
- [ "is_multiplexer", "classllfio__v2__xxx_1_1async__file__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1async__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
- [ "is_process", "classllfio__v2__xxx_1_1async__file__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
- [ "is_readable", "classllfio__v2__xxx_1_1async__file__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
- [ "is_regular", "classllfio__v2__xxx_1_1async__file__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
- [ "is_section", "classllfio__v2__xxx_1_1async__file__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
- [ "is_seekable", "classllfio__v2__xxx_1_1async__file__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
- [ "is_symlink", "classllfio__v2__xxx_1_1async__file__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
- [ "is_valid", "classllfio__v2__xxx_1_1async__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
- [ "is_writable", "classllfio__v2__xxx_1_1async__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
- [ "kernel_caching", "classllfio__v2__xxx_1_1async__file__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1async__file__handle.html#a5a9910116cc5751398e6b55f06a9a793", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1async__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1async__file__handle.html#a4055bb02680af02dcc189f0461bad503", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1async__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
- [ "maximum_extent", "classllfio__v2__xxx_1_1async__file__handle.html#a7991af58283025b80a7225866643f0b4", null ],
- [ "native_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928", null ],
- [ "operator=", "classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25", null ],
- [ "parent_path_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
- [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1async__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
- [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1async__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
- [ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
- [ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a6319914bb21cb96a000d6d547515b156", null ],
- [ "release", "classllfio__v2__xxx_1_1async__file__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
- [ "relink", "classllfio__v2__xxx_1_1async__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
- [ "requires_aligned_io", "classllfio__v2__xxx_1_1async__file__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
- [ "service", "classllfio__v2__xxx_1_1async__file__handle.html#ae7735588338065ede0ab9b7f979bc65a", null ],
- [ "set_append_only", "classllfio__v2__xxx_1_1async__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
- [ "st_dev", "classllfio__v2__xxx_1_1async__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
- [ "st_ino", "classllfio__v2__xxx_1_1async__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
- [ "swap", "classllfio__v2__xxx_1_1async__file__handle.html#ad0cfbde678b809518ca005251ec64808", null ],
- [ "swap", "classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3", null ],
- [ "swap", "classllfio__v2__xxx_1_1async__file__handle.html#a4716696b8700953889006251e0678aa4", null ],
- [ "truncate", "classllfio__v2__xxx_1_1async__file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f", null ],
- [ "try_lock_range", "classllfio__v2__xxx_1_1async__file__handle.html#a2919da8c2520240c4e65f18f68872fd0", null ],
- [ "unique_id", "classllfio__v2__xxx_1_1async__file__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
- [ "unlink", "classllfio__v2__xxx_1_1async__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
- [ "unlock_range", "classllfio__v2__xxx_1_1async__file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9", null ],
- [ "write", "classllfio__v2__xxx_1_1async__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
- [ "write", "classllfio__v2__xxx_1_1async__file__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "write", "classllfio__v2__xxx_1_1async__file__handle.html#a0295a939f9d2f37ffb5949c48527dec6", null ],
- [ "zero", "classllfio__v2__xxx_1_1async__file__handle.html#a50caa94c51aae1f23e7708d3c6a21364", null ],
- [ "io_service", "classllfio__v2__xxx_1_1async__file__handle.html#ae9f4f5f9cc386f5188a9977145edbe6c", null ],
- [ "_caching", "classllfio__v2__xxx_1_1async__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
- [ "_devid", "classllfio__v2__xxx_1_1async__file__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
- [ "_flags", "classllfio__v2__xxx_1_1async__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
- [ "_inode", "classllfio__v2__xxx_1_1async__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
- [ "_service", "classllfio__v2__xxx_1_1async__file__handle.html#aa2c2b2847fd039b9c255633e6031817a", null ],
- [ "_v", "classllfio__v2__xxx_1_1async__file__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
-]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1async__file__handle.png b/classllfio__v2__xxx_1_1async__file__handle.png
deleted file mode 100644
index f2705ed5..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle.png
+++ /dev/null
Binary files differ
diff --git a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html b/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html
deleted file mode 100644
index 427bcb60..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt; Class Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#friends">Friends</a> &#124;
-<a href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt; Class Template Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Type sugar to tell <code>co_await</code> what to do.
- <a href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#details">More...</a></p>
-
-<p><code>#include &quot;async_file_handle.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a7db8e009f82fc944bf46b7eacba156ae"><td class="memItemLeft" align="right" valign="top"><a id="a7db8e009f82fc944bf46b7eacba156ae"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae">await_ready</a> ()</td></tr>
-<tr class="memdesc:a7db8e009f82fc944bf46b7eacba156ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by <code>co_await</code> to determine whether to suspend the coroutine. <br /></td></tr>
-<tr class="separator:a7db8e009f82fc944bf46b7eacba156ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a80a5e4c502524a55bb5e8adb52d5d06d"><td class="memItemLeft" align="right" valign="top"><a id="a80a5e4c502524a55bb5e8adb52d5d06d"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d">await_suspend</a> (coroutine_handle&lt;&gt; co)</td></tr>
-<tr class="memdesc:a80a5e4c502524a55bb5e8adb52d5d06d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by <code>co_await</code> to suspend the coroutine. <br /></td></tr>
-<tr class="separator:a80a5e4c502524a55bb5e8adb52d5d06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae043d0256889c189f3b75a890e3550e2"><td class="memItemLeft" align="right" valign="top"><a id="ae043d0256889c189f3b75a890e3550e2"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; BuffersType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2">await_resume</a> ()</td></tr>
-<tr class="memdesc:ae043d0256889c189f3b75a890e3550e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by <code>co_await</code> after resuming the coroutine to return a value. <br /></td></tr>
-<tr class="separator:ae043d0256889c189f3b75a890e3550e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
-Friends</h2></td></tr>
-<tr class="memitem:ae39e3934b1eb85ac91f1993c8886d888"><td class="memItemLeft" align="right" valign="top"><a id="ae39e3934b1eb85ac91f1993c8886d888"></a>
-class&#160;</td><td class="memItemRight" valign="bottom"><b>async_file_handle</b></td></tr>
-<tr class="separator:ae39e3934b1eb85ac91f1993c8886d888"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;class BuffersType&gt;<br />
-class llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</h3>
-
-<p>Type sugar to tell <code>co_await</code> what to do. </p>
-</div><hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">awaitable</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.js b/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.js
deleted file mode 100644
index 035a8898..00000000
--- a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var classllfio__v2__xxx_1_1async__file__handle_1_1awaitable =
-[
- [ "await_ready", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae", null ],
- [ "await_resume", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2", null ],
- [ "await_suspend", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae39e3934b1eb85ac91f1993c8886d888", null ]
-]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1awaitable__handle-members.html b/classllfio__v2__xxx_1_1awaitable__handle-members.html
new file mode 100644
index 00000000..48be6a76
--- /dev/null
+++ b/classllfio__v2__xxx_1_1awaitable__handle-members.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1awaitable__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>eager_awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1awaitable__handle.html b/classllfio__v2__xxx_1_1awaitable__handle.html
new file mode 100644
index 00000000..2afb5030
--- /dev/null
+++ b/classllfio__v2__xxx_1_1awaitable__handle.html
@@ -0,0 +1,752 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1awaitable__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classllfio__v2__xxx_1_1awaitable__handle-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed.
+ <a href="classllfio__v2__xxx_1_1awaitable__handle.html#details">More...</a></p>
+
+<p><code>#include &quot;multiplex.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1awaitable__handle.png" usemap="#llfio_5Fv2_5Fxxx::awaitable_5Fhandle_3C_20IoHandleType_20_3E_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::awaitable_5Fhandle_3C_20IoHandleType_20_3E_map" name="llfio_5Fv2_5Fxxx::awaitable_5Fhandle_3C_20IoHandleType_20_3E_map">
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,284,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a1eb1b47189610a12b6a46ae581e55dc7"><td class="memTemplParams" colspan="2"><a id="a1eb1b47189610a12b6a46ae581e55dc7"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a1eb1b47189610a12b6a46ae581e55dc7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>eager_awaitable</b> = OUTCOME_V2_NAMESPACE::awaitables::eager&lt; T &gt;</td></tr>
+<tr class="separator:a1eb1b47189610a12b6a46ae581e55dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3930273a2d4cabbac309e0b75701dca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> : unsigned char { <br />
+&#160;&#160;<b>unchanged</b> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8">mode::none</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79">mode::attr_read</a> = 4,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19">mode::attr_write</a> = 5,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a> = 6,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a> = 7,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a> = 9
+<br />
+ }</td></tr>
+<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
+<tr class="separator:aa3930273a2d4cabbac309e0b75701dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> : unsigned char { <br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">creation::truncate_existing</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
+<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
+&#160;&#160;<b>unchanged</b> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a> = 1,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">caching::reads</a> = 3,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693">caching::reads_and_metadata</a> = 5,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a> = 6,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1">caching::safety_barriers</a> = 7,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a> = 8
+<br />
+ }</td></tr>
+<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
+<tr class="separator:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33481bae57d9ccd0c97946416f9682f3"><td class="memItemLeft" align="right" valign="top"><a id="a33481bae57d9ccd0c97946416f9682f3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> = filesystem::path</td></tr>
+<tr class="memdesc:a33481bae57d9ccd0c97946416f9682f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The path type used by this handle. <br /></td></tr>
+<tr class="separator:a33481bae57d9ccd0c97946416f9682f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ee58f1b6a24af5e64d850d1e3eed07f"><td class="memItemLeft" align="right" valign="top"><a id="a4ee58f1b6a24af5e64d850d1e3eed07f"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> = unsigned long long</td></tr>
+<tr class="memdesc:a4ee58f1b6a24af5e64d850d1e3eed07f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The file extent type used by this handle. <br /></td></tr>
+<tr class="separator:a4ee58f1b6a24af5e64d850d1e3eed07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed9587571c3fb932adadddc1beeeed58"><td class="memItemLeft" align="right" valign="top"><a id="aed9587571c3fb932adadddc1beeeed58"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> = size_t</td></tr>
+<tr class="memdesc:aed9587571c3fb932adadddc1beeeed58"><td class="mdescLeft">&#160;</td><td class="mdescRight">The memory extent type used by this handle. <br /></td></tr>
+<tr class="separator:aed9587571c3fb932adadddc1beeeed58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a67c9dc3a201fc43d85ab582759fbd116"><td class="memItemLeft" align="right" valign="top"><a id="a67c9dc3a201fc43d85ab582759fbd116"></a>
+eager_awaitable&lt; io_result&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (io_request&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a67c9dc3a201fc43d85ab582759fbd116"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa3b130f12705b6f0a36f5f5dcb5a068"><td class="memTemplParams" colspan="2"><a id="afa3b130f12705b6f0a36f5f5dcb5a068"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:afa3b130f12705b6f0a36f5f5dcb5a068"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:afa3b130f12705b6f0a36f5f5dcb5a068"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80320c6c50c4bd1430c92d7c290abd17"><td class="memTemplParams" colspan="2"><a id="a80320c6c50c4bd1430c92d7c290abd17"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a80320c6c50c4bd1430c92d7c290abd17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a80320c6c50c4bd1430c92d7c290abd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9dcfa5dabb40bf2175c5628537b9cc4e"><td class="memTemplParams" colspan="2"><a id="a9dcfa5dabb40bf2175c5628537b9cc4e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a9dcfa5dabb40bf2175c5628537b9cc4e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a9dcfa5dabb40bf2175c5628537b9cc4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb0e2865ca62ca0715e8e1dce502f878"><td class="memItemLeft" align="right" valign="top"><a id="abb0e2865ca62ca0715e8e1dce502f878"></a>
+eager_awaitable&lt; io_result&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (io_request&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:abb0e2865ca62ca0715e8e1dce502f878"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eed67fb752ce4cdbea73fc6d774abbd"><td class="memTemplParams" colspan="2"><a id="a1eed67fb752ce4cdbea73fc6d774abbd"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eed67fb752ce4cdbea73fc6d774abbd"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eed67fb752ce4cdbea73fc6d774abbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3dad14fd2ff7107d066b1ac365d2e7d1"><td class="memTemplParams" colspan="2"><a id="a3dad14fd2ff7107d066b1ac365d2e7d1"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a3dad14fd2ff7107d066b1ac365d2e7d1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a3dad14fd2ff7107d066b1ac365d2e7d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c3e328220dc0ab9d68b09dab659b1fc"><td class="memTemplParams" colspan="2"><a id="a5c3e328220dc0ab9d68b09dab659b1fc"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a5c3e328220dc0ab9d68b09dab659b1fc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a5c3e328220dc0ab9d68b09dab659b1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa662339395dd63073132ad083ffe4577"><td class="memItemLeft" align="right" valign="top"><a id="aa662339395dd63073132ad083ffe4577"></a>
+eager_awaitable&lt; io_result&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa662339395dd63073132ad083ffe4577"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3674d0e972ffcecee2862d136b89100b"><td class="memTemplParams" colspan="2"><a id="a3674d0e972ffcecee2862d136b89100b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a3674d0e972ffcecee2862d136b89100b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a3674d0e972ffcecee2862d136b89100b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb656a2f9720cf9d699b9afdaa3c1bf7"><td class="memTemplParams" colspan="2"><a id="afb656a2f9720cf9d699b9afdaa3c1bf7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:afb656a2f9720cf9d699b9afdaa3c1bf7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:afb656a2f9720cf9d699b9afdaa3c1bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf5a5c6ed113a49c7e0fd8c6831b48e2"><td class="memTemplParams" colspan="2"><a id="acf5a5c6ed113a49c7e0fd8c6831b48e2"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acf5a5c6ed113a49c7e0fd8c6831b48e2"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acf5a5c6ed113a49c7e0fd8c6831b48e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
+<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memItemLeft" align="right" valign="top"><a id="a62a75b1a4a24fbc9ad2e98a641167db6"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a> () noexcept</td></tr>
+<tr class="memdesc:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
+<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
+<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
+<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
+<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
+<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
+<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
+<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
+<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
+<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
+<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
+<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
+<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
+<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
+<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
+<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
+<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
+<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
+<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
+<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
+<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
+<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
+<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
+<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
+<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
+<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
+<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
+<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
+<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
+<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
+<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
+<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
+<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
+<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
+<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
+<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class IoHandleType&gt;<br />
+class llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</h3>
+
+<p>An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aecd3a7db6cee3aec07d32fe6f99e6852"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aecd3a7db6cee3aec07d32fe6f99e6852">&#9670;&nbsp;</a></span>caching</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">llfio_v2_xxx::handle::caching</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>What i/o on the handle may complete immediately due to kernel caching. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98"></a>only_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata but avoid caching data (<code>O_DIRECT</code>), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1"></a>reads&#160;</td><td class="fielddoc"><p>Cache reads only. Writes of data and metadata do not complete until reaching storage (<code>O_SYNC</code>). <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693"></a>reads_and_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata, but writes of data do not complete until reaching storage (<code>O_DSYNC</code>). <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51"></a>all&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system). </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1"></a>safety_barriers&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for <code>disable_safety_barriers</code>. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0b352d0f273ba6fa70c178b2c2fee42">&#9670;&nbsp;</a></span>creation</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">llfio_v2_xxx::handle::creation</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>On opening, do we also create a new file or truncate an existing one? </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9"></a>open_existing&#160;</td><td class="fielddoc"><p>Filesystem entry must already exist. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"></a>only_if_not_exist&#160;</td><td class="fielddoc"><p>Filesystem entry must NOT exist, and is atomically created by the success of this operation. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"></a>if_needed&#160;</td><td class="fielddoc"><p>If filesystem entry exists that is used, else one is created. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed"></a>truncate_existing&#160;</td><td class="fielddoc"><p>Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"></a>always_new&#160;</td><td class="fielddoc"><p>If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aa3930273a2d4cabbac309e0b75701dca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3930273a2d4cabbac309e0b75701dca">&#9670;&nbsp;</a></span>mode</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">llfio_v2_xxx::handle::mode</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The behaviour of the handle: does it read, read and write, or atomic append? </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79"></a>attr_read&#160;</td><td class="fielddoc"><p>Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19"></a>attr_write&#160;</td><td class="fielddoc"><p>Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e"></a>read&#160;</td><td class="fielddoc"><p>Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"></a>write&#160;</td><td class="fielddoc"><p>Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00a85eec5a41f7edb2c574d40cf04535">&#9670;&nbsp;</a></span>current_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::handle::current_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::handle::set_append_only </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>enable</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Changes whether this handle is append only or not. </p>
+<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/multiplex.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle.</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:596</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:479</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">awaitable_handle</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1awaitable__handle.js b/classllfio__v2__xxx_1_1awaitable__handle.js
new file mode 100644
index 00000000..24b5f561
--- /dev/null
+++ b/classllfio__v2__xxx_1_1awaitable__handle.js
@@ -0,0 +1,78 @@
+var classllfio__v2__xxx_1_1awaitable__handle =
+[
+ [ "eager_awaitable", "classllfio__v2__xxx_1_1awaitable__handle.html#a1eb1b47189610a12b6a46ae581e55dc7", null ],
+ [ "extent_type", "classllfio__v2__xxx_1_1awaitable__handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1awaitable__handle.html#a33481bae57d9ccd0c97946416f9682f3", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1awaitable__handle.html#aed9587571c3fb932adadddc1beeeed58", null ],
+ [ "caching", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852", [
+ [ "unchanged", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773", null ],
+ [ "none", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "only_metadata", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98", null ],
+ [ "reads", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1", null ],
+ [ "reads_and_metadata", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693", null ],
+ [ "all", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51", null ],
+ [ "safety_barriers", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1", null ],
+ [ "temporary", "classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef", null ]
+ ] ],
+ [ "creation", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42", [
+ [ "open_existing", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9", null ],
+ [ "only_if_not_exist", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255", null ],
+ [ "if_needed", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d", null ],
+ [ "truncate_existing", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed", null ],
+ [ "always_new", "classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d", null ]
+ ] ],
+ [ "mode", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dca", [
+ [ "unchanged", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773", null ],
+ [ "none", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "attr_read", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79", null ],
+ [ "attr_write", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19", null ],
+ [ "read", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e", null ],
+ [ "write", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee", null ],
+ [ "append", "classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d", null ]
+ ] ],
+ [ "are_reads_from_cache", "classllfio__v2__xxx_1_1awaitable__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
+ [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1awaitable__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
+ [ "are_writes_durable", "classllfio__v2__xxx_1_1awaitable__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1awaitable__handle.html#aa662339395dd63073132ad083ffe4577", null ],
+ [ "clone", "classllfio__v2__xxx_1_1awaitable__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "close", "classllfio__v2__xxx_1_1awaitable__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6", null ],
+ [ "current_path", "classllfio__v2__xxx_1_1awaitable__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "flags", "classllfio__v2__xxx_1_1awaitable__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1awaitable__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
+ [ "is_append_only", "classllfio__v2__xxx_1_1awaitable__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
+ [ "is_directory", "classllfio__v2__xxx_1_1awaitable__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1awaitable__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
+ [ "is_multiplexer", "classllfio__v2__xxx_1_1awaitable__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1awaitable__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1awaitable__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
+ [ "is_process", "classllfio__v2__xxx_1_1awaitable__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
+ [ "is_readable", "classllfio__v2__xxx_1_1awaitable__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
+ [ "is_regular", "classllfio__v2__xxx_1_1awaitable__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
+ [ "is_section", "classllfio__v2__xxx_1_1awaitable__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
+ [ "is_seekable", "classllfio__v2__xxx_1_1awaitable__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1awaitable__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
+ [ "is_symlink", "classllfio__v2__xxx_1_1awaitable__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
+ [ "is_valid", "classllfio__v2__xxx_1_1awaitable__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
+ [ "is_writable", "classllfio__v2__xxx_1_1awaitable__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
+ [ "kernel_caching", "classllfio__v2__xxx_1_1awaitable__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "native_handle", "classllfio__v2__xxx_1_1awaitable__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1awaitable__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1awaitable__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
+ [ "read", "classllfio__v2__xxx_1_1awaitable__handle.html#a67c9dc3a201fc43d85ab582759fbd116", null ],
+ [ "release", "classllfio__v2__xxx_1_1awaitable__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
+ [ "requires_aligned_io", "classllfio__v2__xxx_1_1awaitable__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
+ [ "set_append_only", "classllfio__v2__xxx_1_1awaitable__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "swap", "classllfio__v2__xxx_1_1awaitable__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1awaitable__handle.html#a3674d0e972ffcecee2862d136b89100b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1awaitable__handle.html#afb656a2f9720cf9d699b9afdaa3c1bf7", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1awaitable__handle.html#acf5a5c6ed113a49c7e0fd8c6831b48e2", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1awaitable__handle.html#afa3b130f12705b6f0a36f5f5dcb5a068", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1awaitable__handle.html#a80320c6c50c4bd1430c92d7c290abd17", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1awaitable__handle.html#a9dcfa5dabb40bf2175c5628537b9cc4e", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1awaitable__handle.html#a1eed67fb752ce4cdbea73fc6d774abbd", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1awaitable__handle.html#a3dad14fd2ff7107d066b1ac365d2e7d1", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1awaitable__handle.html#a5c3e328220dc0ab9d68b09dab659b1fc", null ],
+ [ "write", "classllfio__v2__xxx_1_1awaitable__handle.html#abb0e2865ca62ca0715e8e1dce502f878", null ],
+ [ "_flags", "classllfio__v2__xxx_1_1awaitable__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
+ [ "_v", "classllfio__v2__xxx_1_1awaitable__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1awaitable__handle.png b/classllfio__v2__xxx_1_1awaitable__handle.png
new file mode 100644
index 00000000..d56a92a7
--- /dev/null
+++ b/classllfio__v2__xxx_1_1awaitable__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1directory__handle-members.html b/classllfio__v2__xxx_1_1directory__handle-members.html
index 57c51fb1..6c84fc50 100644
--- a/classllfio__v2__xxx_1_1directory__handle-members.html
+++ b/classllfio__v2__xxx_1_1directory__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,31 +89,33 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">clone_to_path_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">directory_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a">directory_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">clone_to_path_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">directory_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a">directory_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae">directory_handle</a>(native_handle_type h, caching caching, flag flags)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552">directory_handle</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8">directory_handle</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824">directory_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32">exists</a>(path_view_type path) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623">exists</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
@@ -125,56 +129,78 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">operator=</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">operator=</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle::operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle::operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006">path_handle</a>(native_handle_type h, caching caching=caching::all, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">path_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df">path_handle</a>(path_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">random_directory</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33">read</a>(io_request&lt; buffers_type &gt; req) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">operator=</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">operator=</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle::operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle::operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c">path_handle</a>(native_handle_type h, caching caching, flag flags)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">path_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df">path_handle</a>(path_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e">read</a>(io_request&lt; buffers_type &gt; req, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782">swap</a>(directory_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">llfio_v2_xxx::path_handle::swap</a>(path_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4">temp_directory</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537">reopen</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782">swap</a>(directory_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">llfio_v2_xxx::path_handle::swap</a>(path_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4">temp_directory</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">uniquely_named_directory</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~directory_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -187,7 +213,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1directory__handle.html b/classllfio__v2__xxx_1_1directory__handle.html
index 7fe5f72f..9d167a0f 100644
--- a/classllfio__v2__xxx_1_1directory__handle.html
+++ b/classllfio__v2__xxx_1_1directory__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::directory_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,6 +88,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1directory__handle-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -104,10 +107,10 @@ Inheritance diagram for llfio_v2_xxx::directory_handle:</div>
<img src="classllfio__v2__xxx_1_1directory__handle.png" usemap="#llfio_5Fv2_5Fxxx::directory_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::directory_5Fhandle_map" name="llfio_5Fv2_5Fxxx::directory_5Fhandle_map">
<area href="classllfio__v2__xxx_1_1path__handle.html" title="A handle to somewhere originally identified by a path on the filing system. Typically used as the lig..." alt="llfio_v2_xxx::path_handle" shape="rect" coords="0,56,180,80"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="190,56,370,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,180,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="190,56,370,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,180,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -121,8 +124,8 @@ Classes</h2></td></tr>
Public Types</h2></td></tr>
<tr class="memitem:a54d63e0972dee77ef1f0ff14bd4f9207"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> { <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8">filter::none</a>,
<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8">filter::fastdeleted</a>
- }<tr class="memdesc:a54d63e0972dee77ef1f0ff14bd4f9207"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to do deleted file elimination on Windows. <a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a54d63e0972dee77ef1f0ff14bd4f9207"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to do deleted file elimination on Windows. <a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">More...</a><br /></td></tr>
<tr class="separator:a54d63e0972dee77ef1f0ff14bd4f9207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82959a20c5c7f07c71d47cd5953b4516"><td class="memItemLeft" align="right" valign="top"><a id="a82959a20c5c7f07c71d47cd5953b4516"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = path_handle::path_type</td></tr>
@@ -166,6 +169,10 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -173,10 +180,14 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">directory_handle</a> ()</td></tr>
<tr class="memdesc:ad505f506be33c58cf7176878e552d59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:ad505f506be33c58cf7176878e552d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8ce11e289daebf8125b8585a61d85a9a"><td class="memItemLeft" align="right" valign="top"><a id="a8ce11e289daebf8125b8585a61d85a9a"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a">directory_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
-<tr class="memdesc:a8ce11e289daebf8125b8585a61d85a9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a directory_handle from a supplied native path_handle. <br /></td></tr>
-<tr class="separator:a8ce11e289daebf8125b8585a61d85a9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc2ee09a6199fa2be9869943e6787c1a"><td class="memItemLeft" align="right" valign="top"><a id="abc2ee09a6199fa2be9869943e6787c1a"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a">directory_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>)</td></tr>
+<tr class="memdesc:abc2ee09a6199fa2be9869943e6787c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a directory_handle from a supplied native path_handle. <br /></td></tr>
+<tr class="separator:abc2ee09a6199fa2be9869943e6787c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4670fd2bc968291f5e0c8a98d675aae"><td class="memItemLeft" align="right" valign="top"><a id="aa4670fd2bc968291f5e0c8a98d675aae"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae">directory_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>)</td></tr>
+<tr class="memdesc:aa4670fd2bc968291f5e0c8a98d675aae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a directory_handle from a supplied native path_handle. <br /></td></tr>
+<tr class="separator:aa4670fd2bc968291f5e0c8a98d675aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f3e10dfd3f2cfa80cc14b6987b9552"><td class="memItemLeft" align="right" valign="top"><a id="a20f3e10dfd3f2cfa80cc14b6987b9552"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552">directory_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:a20f3e10dfd3f2cfa80cc14b6987b9552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of directory_handle permitted. <br /></td></tr>
@@ -205,12 +216,24 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">close</a> () noexcept override</td></tr>
<tr class="memdesc:a8eb4f8792e37c370d5f53c643699f8b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a8eb4f8792e37c370d5f53c643699f8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c4b83dfd27ddf3c0551fd795d4a5817"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a7c4b83dfd27ddf3c0551fd795d4a5817"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac65718d52cac467dcc1cb814bd91d537"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537">reopen</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:ac65718d52cac467dcc1cb814bd91d537"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ccae4bed19960a3059b5c3bfadceafd"><td class="memTemplParams" colspan="2"><a id="a3ccae4bed19960a3059b5c3bfadceafd"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a3ccae4bed19960a3059b5c3bfadceafd"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a3ccae4bed19960a3059b5c3bfadceafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafd16281ceb81c2901297c61248e4458"><td class="memTemplParams" colspan="2"><a id="aafd16281ceb81c2901297c61248e4458"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:aafd16281ceb81c2901297c61248e4458"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:aafd16281ceb81c2901297c61248e4458"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7f52299db09ae2fb3fdd022c0cb9465"><td class="memTemplParams" colspan="2"><a id="ac7f52299db09ae2fb3fdd022c0cb9465"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ac7f52299db09ae2fb3fdd022c0cb9465"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ac7f52299db09ae2fb3fdd022c0cb9465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b7dc541e6188fed2950444089fed6c"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">clone_to_path_handle</a> () const noexcept</td></tr>
<tr class="separator:aa0b7dc541e6188fed2950444089fed6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45c13e16ecc131cbe5107e6affe94f33"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33">read</a> (<a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt; req) const noexcept</td></tr>
-<tr class="separator:a45c13e16ecc131cbe5107e6affe94f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab27aadf3740715dc8c5d7cd5a194d57e"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e">read</a> (<a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt; req, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:ab27aadf3740715dc8c5d7cd5a194d57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8752c5e4f4189c7bdfcd6eccb637bef9"><td class="memItemLeft" align="right" valign="top"><a id="a8752c5e4f4189c7bdfcd6eccb637bef9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a8752c5e4f4189c7bdfcd6eccb637bef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -219,16 +242,18 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae260bf811da1b17c142f51fbb53476bf"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a> () const noexcept</td></tr>
-<tr class="separator:ae260bf811da1b17c142f51fbb53476bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03229b163152b540c3eb6edd41cf5d32"><td class="memItemLeft" align="right" valign="top">result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32">exists</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>) const noexcept</td></tr>
+<tr class="separator:a03229b163152b540c3eb6edd41cf5d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
@@ -250,12 +275,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -276,6 +305,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -288,6 +325,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -326,22 +367,78 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a1acc9714116df8fbb0651d912a870495"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a1acc9714116df8fbb0651d912a870495"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4a5f33565a72009d2a9471f925b4aad"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">random_directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:ae4a5f33565a72009d2a9471f925b4aad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6475175eca973ecb66c0cfb118ca1091"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">uniquely_named_directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:a6475175eca973ecb66c0cfb118ca1091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3513e9a84f1bc13bb4500dbab84207c4"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4">temp_directory</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a3513e9a84f1bc13bb4500dbab84207c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9352e3a23b30b446b22933df9ab9623"><td class="memItemLeft" align="right" valign="top"><a id="ad9352e3a23b30b446b22933df9ab9623"></a>
+static result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623">exists</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>) noexcept</td></tr>
+<tr class="memdesc:ad9352e3a23b30b446b22933df9ab9623"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:ad9352e3a23b30b446b22933df9ab9623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a579c3752604c65325d16a6f8c818c6ab"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> path) noexcept</td></tr>
<tr class="separator:a579c3752604c65325d16a6f8c818c6ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a464c3dfe19b544dfcb0527d83407026b"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path) noexcept</td></tr>
+<tr class="memitem:a464c3dfe19b544dfcb0527d83407026b"><td class="memItemLeft" align="right" valign="top"><a id="a464c3dfe19b544dfcb0527d83407026b"></a>
+static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path) noexcept</td></tr>
+<tr class="memdesc:a464c3dfe19b544dfcb0527d83407026b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a464c3dfe19b544dfcb0527d83407026b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
@@ -351,17 +448,20 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -371,6 +471,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to a directory which can be enumerated. </p>
+<dl class="section note"><dt>Note</dt><dd>For good performance, make sure you reuse <code>buffers_type</code> across calls to <code>read()</code>, including across different instances of <code>directory_handle</code>. This is because a kernel buffer is allocated within the first use of a <code>buffers_type</code> in a <code>read()</code>, so reusing <code>buffers_type</code> will save on an allocation-free cycle per directory enumeration. </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a54d63e0972dee77ef1f0ff14bd4f9207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54d63e0972dee77ef1f0ff14bd4f9207">&#9670;&nbsp;</a></span>filter</h2>
@@ -399,12 +500,16 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr><td class="fieldname"><a id="a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8"></a>fastdeleted&#160;</td><td class="fielddoc"><p>For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; none, <span class="comment">//!&lt; Do no filtering at all</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span> fastdeleted <span class="comment">//!&lt; For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable)</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; none, <span class="comment">//!&lt; Do no filtering at all</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"></span> fastdeleted <span class="comment">//!&lt; For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable)</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="ae260bf811da1b17c142f51fbb53476bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae260bf811da1b17c142f51fbb53476bf">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
<div class="memitem">
<div class="memproto">
@@ -413,7 +518,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::clone </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -425,55 +530,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying). </p>
-<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">auto</span> *h = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a> *<span class="keyword">&gt;</span>(<span class="keyword">this</span>);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; OUTCOME_TRY(ret, h-&gt;clone());</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">auto</span> nativeh = ret.release();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>(nativeh);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aea43917ff5cc28f3da3c622c0b3382c4"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">llfio_v2_xxx::handle::handle</a></div><div class="ttdeci">constexpr handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> handle.hpp:192</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a01603d237d7f48f649abebd25bb7daaf"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">llfio_v2_xxx::path_handle::path_handle</a></div><div class="ttdeci">constexpr path_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> path_handle.hpp:66</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a7c4b83dfd27ddf3c0551fd795d4a5817"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c4b83dfd27ddf3c0551fd795d4a5817">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::directory_handle::clone </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
-<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -500,8 +558,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</div><div class="memdoc">
<p>Return a copy of this directory handle, but as a path handle.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
</div>
</div>
@@ -530,11 +588,12 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -596,12 +655,12 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</div><div class="memdoc">
<p>Create a handle opening access to a directory on path.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a865caad2f7f4bdf12fb74aabfe3c5ff5">&#9670;&nbsp;</a></span>parent_path_handle()</h2>
+<a id="a03229b163152b540c3eb6edd41cf5d32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a03229b163152b540c3eb6edd41cf5d32">&#9670;&nbsp;</a></span>exists()</h2>
<div class="memitem">
<div class="memproto">
@@ -610,28 +669,25 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::fs_handle::parent_path_handle </td>
+ <td class="memname">result&lt;bool&gt; llfio_v2_xxx::path_handle::exists </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
-<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
+<p>Returns whether a file entry exists more efficiently that opening and closing a <code>file_handle</code>. Note that this can be a rich source of TOCTOU security attacks! Be aware that symbolic links are NOT dereferenced, so a subsequent file handle open may fail. </p>
</div>
</div>
-<a id="a579c3752604c65325d16a6f8c818c6ab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a579c3752604c65325d16a6f8c818c6ab">&#9670;&nbsp;</a></span>path() <span class="overload">[1/2]</span></h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
<div class="memitem">
<div class="memproto">
@@ -640,7 +696,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::path </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
<td class="paramname"><em>base</em>, </td>
@@ -648,8 +704,14 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -659,17 +721,56 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Create a path handle opening access to some location on the filing system. Some operating systems provide a particularly lightweight method of doing this (Linux: <code>O_PATH</code>, Windows: no access perms) which is much faster than opening a directory. For other systems, we open a directory with read only permissions.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
</div>
</div>
-<a id="a464c3dfe19b544dfcb0527d83407026b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a464c3dfe19b544dfcb0527d83407026b">&#9670;&nbsp;</a></span>path() <span class="overload">[2/2]</span></h2>
+<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a865caad2f7f4bdf12fb74aabfe3c5ff5">&#9670;&nbsp;</a></span>parent_path_handle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::fs_handle::parent_path_handle </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
+
+</div>
+</div>
+<a id="a579c3752604c65325d16a6f8c818c6ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a579c3752604c65325d16a6f8c818c6ab">&#9670;&nbsp;</a></span>path()</h2>
<div class="memitem">
<div class="memproto">
@@ -680,9 +781,19 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::path </td>
<td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em></td><td>)</td>
+ <td class="paramname"><em>path</em>&#160;</td>
+ </tr>
+ <tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -691,10 +802,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(<a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>(), _path); }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a01603d237d7f48f649abebd25bb7daaf"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">llfio_v2_xxx::path_handle::path_handle</a></div><div class="ttdeci">constexpr path_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> path_handle.hpp:66</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a579c3752604c65325d16a6f8c818c6ab"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">llfio_v2_xxx::path_handle::path</a></div><div class="ttdeci">static result&lt; path_handle &gt; path(const path_handle &amp;base, path_view_type path) noexcept</div></div>
-</div><!-- fragment -->
+<p>Create a path handle opening access to some location on the filing system. Some operating systems provide a particularly lightweight method of doing this (Linux: <code>O_PATH</code>, Windows: no access perms) which is much faster than opening a directory. For other systems, we open a directory with read only permissions.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+
</div>
</div>
<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
@@ -722,28 +832,124 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="ae4a5f33565a72009d2a9471f925b4aad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4a5f33565a72009d2a9471f925b4aad">&#9670;&nbsp;</a></span>random_directory()</h2>
+<a id="ab27aadf3740715dc8c5d7cd5a194d57e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab27aadf3740715dc8c5d7cd5a194d57e">&#9670;&nbsp;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
@@ -752,65 +958,21 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::directory_handle::random_directory </td>
+ <td class="memname">virtual result&lt;<a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a>&gt; llfio_v2_xxx::directory_handle::read </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt;&#160;</td>
+ <td class="paramname"><em>req</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a directory handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing entry.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; result&lt;directory_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1directory__handle_html_a1acc9714116df8fbb0651d912a870495"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle::directory</a></div><div class="ttdeci">static result&lt; directory_handle &gt; directory(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a45c13e16ecc131cbe5107e6affe94f33"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45c13e16ecc131cbe5107e6affe94f33">&#9670;&nbsp;</a></span>read()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;<a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a>&gt; llfio_v2_xxx::directory_handle::read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>req</em></td><td>)</td>
- <td> const</td>
+ <td></td><td> const</td>
</tr>
</table>
</td>
@@ -819,16 +981,16 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Fill the buffers type with as many directory entries as will fit into any optionally supplied buffer.</p>
-<dl class="section return"><dt>Returns</dt><dd>Returns the buffers filled, what metadata was filled in and whether the entire directory was read or not. </dd></dl>
+<p>Fill the buffers type with as many directory entries as will fit into any optionally supplied buffer. This operation returns a <b>snapshot</b>, without races, of the directory contents at the moment of the call.</p>
+<dl class="section return"><dt>Returns</dt><dd>Returns the buffers filled, what metadata was filled in and whether the entire directory was read or not. You should <em>always</em> examine <code>.metadata()</code> for the metadata you are about to use, fetching it with <code>stat_t::fill()</code> if not yet present. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">req</td><td>A buffer fill (directory enumeration) request. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>todo </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If the <code>kernelbuffer</code> parameter is set in the request, no memory allocations. If unset, at least one memory allocation, possibly more is performed. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n todo</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n If the kernelbuffer parameter is set in the request, no memory allocations.</dt><dd>If unset, at least one memory allocation, possibly more is performed. MAKE SURE you reuse the <code>buffers_type</code> across calls once you are no longer using the buffers filled (simply restamp its span range, the internal kernel buffer will then get reused). </dd></dl>
</div>
</div>
@@ -877,7 +1039,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -888,9 +1052,55 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+</div>
+</div>
+<a id="ac65718d52cac467dcc1cb814bd91d537"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac65718d52cac467dcc1cb814bd91d537">&#9670;&nbsp;</a></span>reopen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::directory_handle::reopen </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Reopen this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
+<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX if changing the mode, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
</div>
</div>
@@ -920,8 +1130,10 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -976,12 +1188,80 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Create a directory handle creating the named directory on some path which the OS declares to be suitable for temporary files. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">random_directory</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1directory__handle_html_ae4a5f33565a72009d2a9471f925b4aad"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">llfio_v2_xxx::directory_handle::random_directory</a></div><div class="ttdeci">static result&lt; directory_handle &gt; random_directory(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:212</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1directory__handle_html_a1acc9714116df8fbb0651d912a870495"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle::directory</a></div><div class="ttdeci">static result&lt; directory_handle &gt; directory(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<p>Create a directory handle creating the named directory on some path which the OS declares to be suitable for temporary files. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
+<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">uniquely_named_directory</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6475175eca973ecb66c0cfb118ca1091"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6475175eca973ecb66c0cfb118ca1091">&#9670;&nbsp;</a></span>uniquely_named_directory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::directory_handle::uniquely_named_directory </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a directory handle creating a uniquely named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing entry.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; result&lt;directory_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
+<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
+<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
+<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
+<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1016,7 +1296,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
@@ -1027,13 +1307,19 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1directory__handle_html_a1acc9714116df8fbb0651d912a870495"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle::directory</a></div><div class="ttdeci">static result&lt; directory_handle &gt; directory(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1directory__handle_html_a6475175eca973ecb66c0cfb118ca1091"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">llfio_v2_xxx::directory_handle::uniquely_named_directory</a></div><div class="ttdeci">static result&lt; directory_handle &gt; uniquely_named_directory(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:253</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1directory__handle.js b/classllfio__v2__xxx_1_1directory__handle.js
index 6f71efd1..3092c332 100644
--- a/classllfio__v2__xxx_1_1directory__handle.js
+++ b/classllfio__v2__xxx_1_1directory__handle.js
@@ -15,12 +15,14 @@ var classllfio__v2__xxx_1_1directory__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1directory__handle.html#af39b5b7a73266dc1dd435f4fb1dfb463", null ],
[ "size_type", "classllfio__v2__xxx_1_1directory__handle.html#aafd3eb03845b55c19154cab76956efad", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1directory__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1directory__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "filter", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207", [
[ "none", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "fastdeleted", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8", null ]
] ],
[ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e", null ],
- [ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a", null ],
+ [ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a", null ],
+ [ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae", null ],
[ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552", null ],
[ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8", null ],
[ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824", null ],
@@ -29,44 +31,64 @@ var classllfio__v2__xxx_1_1directory__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1directory__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1directory__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1directory__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "clone", "classllfio__v2__xxx_1_1directory__handle.html#ae260bf811da1b17c142f51fbb53476bf", null ],
- [ "clone", "classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817", null ],
+ [ "clone", "classllfio__v2__xxx_1_1directory__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "clone_to_path_handle", "classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c", null ],
[ "close", "classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7", null ],
[ "current_path", "classllfio__v2__xxx_1_1directory__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "exists", "classllfio__v2__xxx_1_1directory__handle.html#a03229b163152b540c3eb6edd41cf5d32", null ],
[ "flags", "classllfio__v2__xxx_1_1directory__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1directory__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1directory__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1directory__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1directory__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1directory__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1directory__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1directory__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1directory__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1directory__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1directory__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1directory__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1directory__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1directory__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1directory__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1directory__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1directory__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1directory__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1directory__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "link", "classllfio__v2__xxx_1_1directory__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
[ "native_handle", "classllfio__v2__xxx_1_1directory__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49", null ],
[ "operator=", "classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1directory__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1directory__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33", null ],
+ [ "read", "classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e", null ],
[ "release", "classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1directory__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1directory__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
[ "st_dev", "classllfio__v2__xxx_1_1directory__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1directory__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
- [ "swap", "classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9", null ],
[ "swap", "classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782", null ],
[ "swap", "classllfio__v2__xxx_1_1directory__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1directory__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1directory__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1directory__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1directory__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1directory__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1directory__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1directory__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1directory__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1directory__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_reopen", "classllfio__v2__xxx_1_1directory__handle.html#a3ccae4bed19960a3059b5c3bfadceafd", null ],
+ [ "try_reopen_for", "classllfio__v2__xxx_1_1directory__handle.html#aafd16281ceb81c2901297c61248e4458", null ],
+ [ "try_reopen_until", "classllfio__v2__xxx_1_1directory__handle.html#ac7f52299db09ae2fb3fdd022c0cb9465", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1directory__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1directory__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1directory__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
[ "unique_id", "classllfio__v2__xxx_1_1directory__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1directory__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
- [ "_caching", "classllfio__v2__xxx_1_1directory__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
[ "_devid", "classllfio__v2__xxx_1_1directory__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_flags", "classllfio__v2__xxx_1_1directory__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_inode", "classllfio__v2__xxx_1_1directory__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group-members.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group-members.html
new file mode 100644
index 00000000..0e9e4c83
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212">current_nesting_level</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2">current_work_item</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dynamic_thread_pool_group_impl</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf">implementation_description</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#aac4c23e6b02acabeebac08955fe264f7">ms_sleep_for_more_work</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a">ms_sleep_for_more_work</a>(uint32_t v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c">stopped</a>() const noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8">submit</a>(span&lt; work_item * &gt; work) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66">submit</a>(work_item *wi) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887">wait</a>(deadline d={}) const noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41">wait_for</a>(const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816">wait_until</a>(const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~dynamic_thread_pool_group</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group.html
new file mode 100644
index 00000000..cebf3f57
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::dynamic_thread_pool_group Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Work group within the global dynamic thread pool.
+ <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#details">More...</a></p>
+
+<p><code>#include &quot;dynamic_thread_pool_group.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">io_aware_work_item</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A work item which paces when it next executes according to i/o congestion. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An individual item of work within the work group. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab59c09d197cc2ab310375d6e0b4f06f8"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8">submit</a> (span&lt; <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> * &gt; work) noexcept=0</td></tr>
+<tr class="memdesc:ab59c09d197cc2ab310375d6e0b4f06f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threadsafe. Submit one or more work items for execution. Note that you can submit more later. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8">More...</a><br /></td></tr>
+<tr class="separator:ab59c09d197cc2ab310375d6e0b4f06f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac66e72ede37599df150ee8506a92dd66"><td class="memItemLeft" align="right" valign="top"><a id="ac66e72ede37599df150ee8506a92dd66"></a>
+result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66">submit</a> (<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> *wi) noexcept</td></tr>
+<tr class="memdesc:ac66e72ede37599df150ee8506a92dd66"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:ac66e72ede37599df150ee8506a92dd66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a5a7e9924b9e428e77d4167e716f57c"><td class="memItemLeft" align="right" valign="top"><a id="a1a5a7e9924b9e428e77d4167e716f57c"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c">stopped</a> () const noexcept=0</td></tr>
+<tr class="memdesc:a1a5a7e9924b9e428e77d4167e716f57c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threadsafe. True if all the work previously submitted is complete. <br /></td></tr>
+<tr class="separator:a1a5a7e9924b9e428e77d4167e716f57c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26d88fd329e5c0e04739b3214831a887"><td class="memItemLeft" align="right" valign="top"><a id="a26d88fd329e5c0e04739b3214831a887"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887">wait</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}) const noexcept=0</td></tr>
+<tr class="memdesc:a26d88fd329e5c0e04739b3214831a887"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threadsafe. Wait for work previously submitted to complete, returning any failures by any work item. <br /></td></tr>
+<tr class="separator:a26d88fd329e5c0e04739b3214831a887"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f8d01ba540996392dd4c8d87b8c6f41"><td class="memTemplParams" colspan="2"><a id="a1f8d01ba540996392dd4c8d87b8c6f41"></a>
+template&lt;class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a1f8d01ba540996392dd4c8d87b8c6f41"><td class="memTemplItemLeft" align="right" valign="top">result&lt; bool &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41">wait_for</a> (const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) const noexcept</td></tr>
+<tr class="memdesc:a1f8d01ba540996392dd4c8d87b8c6f41"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a1f8d01ba540996392dd4c8d87b8c6f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00fdd6c7fb86e9b1e967a5a5f0305816"><td class="memTemplParams" colspan="2"><a id="a00fdd6c7fb86e9b1e967a5a5f0305816"></a>
+template&lt;class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a00fdd6c7fb86e9b1e967a5a5f0305816"><td class="memTemplItemLeft" align="right" valign="top">result&lt; bool &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816">wait_until</a> (const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) const noexcept</td></tr>
+<tr class="memdesc:a00fdd6c7fb86e9b1e967a5a5f0305816"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a00fdd6c7fb86e9b1e967a5a5f0305816"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ab9e2295ae9773e218e21cd2cd28355bf"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf">implementation_description</a> () noexcept</td></tr>
+<tr class="memdesc:ab9e2295ae9773e218e21cd2cd28355bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">A textual description of the underlying implementation of this dynamic thread pool group. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf">More...</a><br /></td></tr>
+<tr class="separator:ab9e2295ae9773e218e21cd2cd28355bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c4fac496df18522877ed70f86613212"><td class="memItemLeft" align="right" valign="top"><a id="a3c4fac496df18522877ed70f86613212"></a>
+static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212">current_nesting_level</a> () noexcept</td></tr>
+<tr class="memdesc:a3c4fac496df18522877ed70f86613212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the work item nesting level which would be used if a new dynamic thread pool group were created within the current work item. <br /></td></tr>
+<tr class="separator:a3c4fac496df18522877ed70f86613212"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1184eb72e54c2c1070056e95f582d1c2"><td class="memItemLeft" align="right" valign="top"><a id="a1184eb72e54c2c1070056e95f582d1c2"></a>
+static <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2">current_work_item</a> () noexcept</td></tr>
+<tr class="memdesc:a1184eb72e54c2c1070056e95f582d1c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the work item the calling thread is running within, if any. <br /></td></tr>
+<tr class="separator:a1184eb72e54c2c1070056e95f582d1c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac4c23e6b02acabeebac08955fe264f7"><td class="memItemLeft" align="right" valign="top"><a id="aac4c23e6b02acabeebac08955fe264f7"></a>
+static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#aac4c23e6b02acabeebac08955fe264f7">ms_sleep_for_more_work</a> () noexcept</td></tr>
+<tr class="memdesc:aac4c23e6b02acabeebac08955fe264f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of milliseconds that a thread is without work before it is shut down. Note that this will be zero on all but on Linux if using our local thread pool implementation, because the system controls this value on Windows, Grand Central Dispatch etc. <br /></td></tr>
+<tr class="separator:aac4c23e6b02acabeebac08955fe264f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3df91fd2d5b6e0036267142f0c5af4a"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a">ms_sleep_for_more_work</a> (uint32_t v) noexcept</td></tr>
+<tr class="memdesc:af3df91fd2d5b6e0036267142f0c5af4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the number of milliseconds that a thread is without work before it is shut down, returning the value actually set. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a">More...</a><br /></td></tr>
+<tr class="separator:af3df91fd2d5b6e0036267142f0c5af4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:acd9883ca1a476119de857fac1601332a"><td class="memItemLeft" align="right" valign="top"><a id="acd9883ca1a476119de857fac1601332a"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>dynamic_thread_pool_group_impl</b></td></tr>
+<tr class="separator:acd9883ca1a476119de857fac1601332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Work group within the global dynamic thread pool. </p>
+<p>Some operating systems provide a per-process global kernel thread pool capable of dynamically adjusting its kernel thread count to how many of the threads in the pool are currently blocked. The platform will choose the exact strategy used, but as an example of a strategy, one might keep creating new kernel threads so long as the total threads currently running and not blocked on page faults, i/o or syscalls, is below the hardware concurrency. Similarly, if more threads are running and not blocked than hardware concurrency, one might remove kernel threads from executing work. Such a strategy would dynamically increase concurrency until all CPUs are busy, but reduce concurrency if more work is being done than CPUs available.</p>
+<p>Such dynamic kernel thread pools are excellent for CPU bound processing, you simply fire and forget work into them. However, for i/o bound processing, you must be careful as there are gotchas. For non-seekable i/o, it is very possible that there could be 100k handles upon which we do i/o. Doing i/o on 100k handles using a dynamic thread pool would in theory cause the creation of 100k kernel threads, which would not be wise. A much better solution is to use an <code>io_multiplexer</code> to await changes in large sets of i/o handles.</p>
+<p>For seekable i/o, the same problem applies, but worse again: an i/o bound problem would cause a rapid increase in the number of kernel threads, which by definition makes i/o even more congested. Basically the system runs off into pathological performance loss. You must therefore never naively do i/o bound work (e.g. with memory mapped files) from within a dynamic thread pool without employing some mechanism to force concurrency downwards if the backing storage is congested.</p>
+<h2><a class="anchor" id="autotoc_md0"></a>
+Work groups</h2>
+<p>Instances of this class contain zero or more work items. Each work item is asked for its next item of work, and if an item of work is available, that item of work is executed by the global kernel thread pool at a time of its choosing. It is NEVER possible that any one work item is concurrently executed at a time, each work item is always sequentially executed with respect to itself. The only concurrency possible is <em>across</em> work items. Therefore, if you want to execute the same piece of code concurrently, you need to submit a separate work item for each possible amount of concurrency (e.g. <code>std::thread::hardware_concurrency()</code>).</p>
+<p>You can have as many or as few items of work as you like. You can dynamically submit additional work items at any time, except when a group is currently in the process of being stopped. The group of work items can be waited upon to complete, after which the work group becomes reset as if back to freshly constructed. You can also stop executing all the work items in the group, even if they have not fully completed. If any work item returns a failure, this equals a <code>stop()</code>, and the next <code>wait()</code> will return that error.</p>
+<p>Work items may create sub work groups as part of their operation. If they do so, the work items from such nested work groups are scheduled preferentially. This ensures good forward progress, so if you have 100 work items each of which do another 100 work items, you don't get 10,000 slowly progressing work. Rather, the work items in the first set progress slowly, whereas the work items in the second set progress quickly.</p>
+<p><code>work_item::next()</code> may optionally set a deadline to delay when that work item ought to be processed again. Deadlines can be relative or absolute.</p>
+<h2><a class="anchor" id="autotoc_md1"></a>
+C++ 23 Executors</h2>
+<p>As with elsewhere in LLFIO, as a low level facility, we don't implement <a href="https://wg21.link/P0443">https://wg21.link/P0443</a> Executors, but it is trivially easy to implement a dynamic equivalent to <code>std::static_thread_pool</code> using this class.</p>
+<h2><a class="anchor" id="autotoc_md2"></a>
+Implementation notes</h2>
+<h3><a class="anchor" id="autotoc_md3"></a>
+Microsoft Windows</h3>
+<p>On Microsoft Windows, the Win32 thread pool API is used (<a href="https://docs.microsoft.com/en-us/windows/win32/procthread/thread-pool-api">https://docs.microsoft.com/en-us/windows/win32/procthread/thread-pool-api</a>). This is an IOCP-aware thread pool which will dynamically increase the number of kernel threads until none are blocked. If more kernel threads are running than twice the number of CPUs in the system, the number of kernel threads is dynamically reduced. The maximum number of kernel threads which will run simultaneously is 500. Note that the Win32 thread pool is shared across the process by multiple Windows facilities.</p>
+<p>Note that the Win32 thread pool has built in support for IOCP, so if you have a custom i/o multiplexer, you can use the global Win32 thread pool to execute i/o completions handling. See <code>CreateThreadpoolIo()</code> for more.</p>
+<p>No dynamic memory allocation is performed by this implementation outside of the initial <code>make_dynamic_thread_pool_group()</code>. The Win32 thread pool API may perform dynamic memory allocation internally, but that is outside our control.</p>
+<p>Overhead of LLFIO above the Win32 thread pool API is very low, statistically unmeasurable.</p>
+<h3><a class="anchor" id="autotoc_md4"></a>
+POSIX</h3>
+<p>If not on Linux, you will need libdispatch which is detected by LLFIO cmake during configuration. libdispatch is better known as Grand Central Dispatch, originally a Mac OS technology but since ported to a high quality kernel based implementation on recent FreeBSDs, and to a lower quality userspace based implementation on Linux. Generally libdispatch should get automatically found on Mac OS without additional effort; on FreeBSD it may need installing from ports; on Linux you would need to explicitly install <code>libdispatch-dev</code> or the equivalent. You can force the use in cmake of libdispatch by setting the cmake variable <code>LLFIO_USE_LIBDISPATCH</code> to On.</p>
+<p>Overhead of LLFIO above the libdispatch API is very low, statistically unmeasurable.</p>
+<h3><a class="anchor" id="autotoc_md5"></a>
+Linux</h3>
+<p>On Linux only, we have a custom userspace implementation with superior performance. A similar strategy to Microsoft Windows' approach is used. We dynamically increase the number of kernel threads until none are sleeping awaiting i/o. If more kernel threads are running than three more than the number of CPUs in the system, the number of kernel threads is dynamically reduced. Note that <b>all</b> the kernel threads for the current process are considered, not just the kernel threads created by this thread pool implementation. Therefore, if you have alternative thread pool implementations (e.g. OpenMP, <code>std::async</code>), those are also included in the dynamic adjustment.</p>
+<p>As this is wholly implemented by this library, dynamic memory allocation occurs in the initial <code>make_dynamic_thread_pool_group()</code> and per thread creation, but otherwise the implementation does not perform dynamic memory allocations.</p>
+<p>After multiple rewrites, eventually I got this custom userspace implementation to have superior performance to both ASIO and libdispatch. For larger work items the difference is meaningless between all three, however for smaller work items I benchmarked this custom userspace implementation as beating (non-dynamic) ASIO by approx 29% and Linux libdispatch by approx 52% (note that Linux libdispatch appears to have a scale up bug when work items are small and few, it is often less than half the performance of LLFIO's custom implementation). </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ab9e2295ae9773e218e21cd2cd28355bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9e2295ae9773e218e21cd2cd28355bf">&#9670;&nbsp;</a></span>implementation_description()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static const char* llfio_v2_xxx::dynamic_thread_pool_group::implementation_description </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A textual description of the underlying implementation of this dynamic thread pool group. </p>
+<p>The current possible underlying implementations are:</p>
+<ul>
+<li>"Grand Central Dispatch" (Mac OS, FreeBSD, Linux)</li>
+<li>"Linux native" (Linux)</li>
+<li>"Win32 thread pool (Vista+)" (Windows)</li>
+</ul>
+<p>Which one is chosen depends on what was detected at cmake configure time, and possibly what the host OS running the program binary supports. </p>
+
+</div>
+</div>
+<a id="af3df91fd2d5b6e0036267142f0c5af4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3df91fd2d5b6e0036267142f0c5af4a">&#9670;&nbsp;</a></span>ms_sleep_for_more_work()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static uint32_t llfio_v2_xxx::dynamic_thread_pool_group::ms_sleep_for_more_work </td>
+ <td>(</td>
+ <td class="paramtype">uint32_t&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the number of milliseconds that a thread is without work before it is shut down, returning the value actually set. </p>
+<p>Note that this will have no effect (and thus return zero) on all but on Linux if using our local thread pool implementation, because the system controls this value on Windows, Grand Central Dispatch etc. </p>
+
+</div>
+</div>
+<a id="ab59c09d197cc2ab310375d6e0b4f06f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab59c09d197cc2ab310375d6e0b4f06f8">&#9670;&nbsp;</a></span>submit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::dynamic_thread_pool_group::submit </td>
+ <td>(</td>
+ <td class="paramtype">span&lt; <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> * &gt;&#160;</td>
+ <td class="paramname"><em>work</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Threadsafe. Submit one or more work items for execution. Note that you can submit more later. </p>
+<p>Note that if the group is currently stopping, you cannot submit more work until the group has stopped. An error code comparing equal to <code>errc::operation_canceled</code> is returned if you try. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/dynamic_thread_pool_group.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group.js b/classllfio__v2__xxx_1_1dynamic__thread__pool__group.js
new file mode 100644
index 00000000..85869e17
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group.js
@@ -0,0 +1,13 @@
+var classllfio__v2__xxx_1_1dynamic__thread__pool__group =
+[
+ [ "io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item" ],
+ [ "work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item" ],
+ [ "~dynamic_thread_pool_group", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a926ed224e83131320905ea6917cbefa3", null ],
+ [ "stopped", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c", null ],
+ [ "submit", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8", null ],
+ [ "submit", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66", null ],
+ [ "wait", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887", null ],
+ [ "wait_for", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41", null ],
+ [ "wait_until", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816", null ],
+ [ "dynamic_thread_pool_group_impl", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#acd9883ca1a476119de857fac1601332a", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item-members.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item-members.html
new file mode 100644
index 00000000..cd08bebe
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item-members.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_has_timer_set</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_has_timer_set_absolute</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_has_timer_set_relative</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">group_complete</a>(const result&lt; void &gt; &amp;cancelled) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22">handles</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821">io_aware_next</a>(deadline &amp;d) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_aware_work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78">io_aware_work_item</a>(span&lt; io_handle_awareness &gt; hs)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_aware_work_item</b>(io_aware_work_item &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef">max_iosbusytime</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688">max_iosinprogress</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948">min_iosinprogress</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">operator()</a>(intptr_t work) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const work_item &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(work_item &amp;&amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">parent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>work_item</b>(const work_item &amp;o)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>work_item</b>(work_item &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_aware_work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html
new file mode 100644
index 00000000..a6553909
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html
@@ -0,0 +1,289 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A work item which paces when it next executes according to i/o congestion.
+ <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#details">More...</a></p>
+
+<p><code>#include &quot;dynamic_thread_pool_group.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.png" usemap="#llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::io_5Faware_5Fwork_5Fitem_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::io_5Faware_5Fwork_5Fitem_map" name="llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::io_5Faware_5Fwork_5Fitem_map">
+<area href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html" title="An individual item of work within the work group." alt="llfio_v2_xxx::dynamic_thread_pool_group::work_item" shape="rect" coords="0,0,366,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">io_handle_awareness</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about an i/o handle this work item will use. <a href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9df0ab84dd9f69b40b9117a79c8eca78"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78">io_aware_work_item</a> (span&lt; <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">io_handle_awareness</a> &gt; hs)</td></tr>
+<tr class="memdesc:a9df0ab84dd9f69b40b9117a79c8eca78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a work item aware of i/o done to the handles in <code>hs</code>. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78">More...</a><br /></td></tr>
+<tr class="separator:a9df0ab84dd9f69b40b9117a79c8eca78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa090c92e4adf339d8092465934b82f03"><td class="memItemLeft" align="right" valign="top"><a id="aa090c92e4adf339d8092465934b82f03"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_aware_work_item</b> (<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">io_aware_work_item</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:aa090c92e4adf339d8092465934b82f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d45637f8c603e9f132f99d7c539ee22"><td class="memItemLeft" align="right" valign="top"><a id="a0d45637f8c603e9f132f99d7c539ee22"></a>
+span&lt; <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">io_handle_awareness</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22">handles</a> () const noexcept</td></tr>
+<tr class="memdesc:a0d45637f8c603e9f132f99d7c539ee22"><td class="mdescLeft">&#160;</td><td class="mdescRight">The handles originally registered during construction. <br /></td></tr>
+<tr class="separator:a0d45637f8c603e9f132f99d7c539ee22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab92cec481e76ed36075100c0bf9f8821"><td class="memItemLeft" align="right" valign="top"><a id="ab92cec481e76ed36075100c0bf9f8821"></a>
+virtual intptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821">io_aware_next</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> &amp;d) noexcept=0</td></tr>
+<tr class="memdesc:ab92cec481e76ed36075100c0bf9f8821"><td class="mdescLeft">&#160;</td><td class="mdescRight">As for <code>work_item::next()</code>, but deadline may be extended to reduce i/o congestion on the hardware devices to which the handles refer. <br /></td></tr>
+<tr class="separator:ab92cec481e76ed36075100c0bf9f8821"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee890b7a94a8d7a24e9b55aef8177c49"><td class="memItemLeft" align="right" valign="top"><a id="aee890b7a94a8d7a24e9b55aef8177c49"></a>
+<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">parent</a> () const noexcept</td></tr>
+<tr class="memdesc:aee890b7a94a8d7a24e9b55aef8177c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the parent work group between successful submission and just before <code>group_complete()</code>. <br /></td></tr>
+<tr class="separator:aee890b7a94a8d7a24e9b55aef8177c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68e317002adf480e0a4c076410e35e8e"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">operator()</a> (intptr_t work) noexcept=0</td></tr>
+<tr class="separator:a68e317002adf480e0a4c076410e35e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8d6ba54f52e216edd37474f19731fd8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">group_complete</a> (const result&lt; void &gt; &amp;cancelled) noexcept</td></tr>
+<tr class="separator:ae8d6ba54f52e216edd37474f19731fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a5860206701c43b7035475dc3f62a23ef"><td class="memItemLeft" align="right" valign="top"><a id="a5860206701c43b7035475dc3f62a23ef"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef">max_iosbusytime</a> {0.95f}</td></tr>
+<tr class="memdesc:a5860206701c43b7035475dc3f62a23ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum i/o busyness above which throttling is to begin. <br /></td></tr>
+<tr class="separator:a5860206701c43b7035475dc3f62a23ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81540923522973756560e20c44a0e948"><td class="memItemLeft" align="right" valign="top"><a id="a81540923522973756560e20c44a0e948"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948">min_iosinprogress</a> {16}</td></tr>
+<tr class="memdesc:a81540923522973756560e20c44a0e948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum i/o in progress to target if <code>iosbusytime</code> exceeded. The default of 16 suits SSDs, you want around 4 for spinning rust or NV-RAM. <br /></td></tr>
+<tr class="separator:a81540923522973756560e20c44a0e948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a240b9e4d3d0ee510c46347e735185688"><td class="memItemLeft" align="right" valign="top"><a id="a240b9e4d3d0ee510c46347e735185688"></a>
+uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688">max_iosinprogress</a> {32}</td></tr>
+<tr class="memdesc:a240b9e4d3d0ee510c46347e735185688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum i/o in progress to target if <code>iosbusytime</code> exceeded. The default of 32 suits SSDs, you want around 8 for spinning rust or NV-RAM. <br /></td></tr>
+<tr class="separator:a240b9e4d3d0ee510c46347e735185688"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:aa6641deb837cc77540b1a9bdf41afa6f"><td class="memItemLeft" align="right" valign="top"><a id="aa6641deb837cc77540b1a9bdf41afa6f"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set_relative</b> () const noexcept</td></tr>
+<tr class="separator:aa6641deb837cc77540b1a9bdf41afa6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c2850bf3778d32c335eace1f05ea3b7"><td class="memItemLeft" align="right" valign="top"><a id="a1c2850bf3778d32c335eace1f05ea3b7"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set_absolute</b> () const noexcept</td></tr>
+<tr class="separator:a1c2850bf3778d32c335eace1f05ea3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c49153ff193f7b3d948eec37b5509f7"><td class="memItemLeft" align="right" valign="top"><a id="a2c49153ff193f7b3d948eec37b5509f7"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set</b> () const noexcept</td></tr>
+<tr class="separator:a2c49153ff193f7b3d948eec37b5509f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A work item which paces when it next executes according to i/o congestion. </p>
+<p>Currently there is only a working implementation of this for the Microsoft Windows and Linux platforms, due to lack of working <code>statfs_t::f_iosinprogress</code> on other platforms. If retrieving that for a seekable handle does not work, the constructor throws an exception.</p>
+<p>For seekable handles, currently <code>reads</code>, <code>writes</code> and <code>barriers</code> are ignored. We simply retrieve, periodically, <code>statfs_t::f_iosinprogress</code> and <code>statfs_t::f_iosbusytime</code> for the storage devices backing the seekable handle. If the recent averaged i/o wait time exceeds <code>max_iosbusytime</code> and the i/o in progress &gt; <code>max_iosinprogress</code>, <code>next()</code> will start setting the default deadline passed to <code>io_aware_next()</code>. Thereafter, every 1/10th of a second, if <code>statfs_t::f_iosinprogress</code> is above <code>max_iosinprogress</code>, it will increase the deadline by 1/16th, whereas if it is below <code>min_iosinprogress</code>, it will decrease the deadline by 1/16th. The default deadline chosen is always the worst of all the storage devices of all the handles. This will reduce concurrency within the kernel thread pool in order to reduce congestion on the storage devices. If at any point <code>statfs_t::f_iosbusytime</code> drops below <code>max_iosbusytime</code> as averaged across one second, and <code>statfs_t::f_iosinprogress</code> drops below <code>min_iosinprogress</code>, the additional throttling is completely removed. <code>io_aware_next()</code> can ignore the default deadline passed into it, and can set any other deadline.</p>
+<p>For non-seekable handles, the handle must have an i/o multiplexer set upon it, and on Microsoft Windows, that i/o multiplexer must be utilising the IOCP instance of the global Win32 thread pool. For each <code>reads</code>, <code>writes</code> and <code>barriers</code> which is non-zero, a corresponding zero length i/o is constructed and initiated. When the i/o completes, and all readable handles in the work item's set have data waiting to be read, and all writable handles in the work item's set have space to allow writes, only then is the work item invoked with the next piece of work.</p>
+<dl class="section note"><dt>Note</dt><dd>Non-seekable handle support is not implemented yet. </dd></dl>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a9df0ab84dd9f69b40b9117a79c8eca78"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9df0ab84dd9f69b40b9117a79c8eca78">&#9670;&nbsp;</a></span>io_aware_work_item()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_aware_work_item </td>
+ <td>(</td>
+ <td class="paramtype">span&lt; <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">io_handle_awareness</a> &gt;&#160;</td>
+ <td class="paramname"><em>hs</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Constructs a work item aware of i/o done to the handles in <code>hs</code>. </p>
+<p>Note that the <code>reads</code>, <code>writes</code> and <code>barriers</code> are normalised to proportions out of <code>1.0</code> by this constructor, so if for example you had <code>reads/writes/barriers = 200/100/0</code>, after normalisation those become <code>0.66/0.33/0.0</code> such that the total is <code>1.0</code>. If <code>reads/writes/barriers = 0/0/0</code> on entry, they are replaced with <code>0.5/0.5/0.0</code>.</p>
+<p>Note that normalisation is across <em>all</em> i/o handles in the set, so three handles each with <code>reads/writes/barriers = 200/100/0</code> on entry would have <code>0.22/0.11/0.0</code> each after construction. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae8d6ba54f52e216edd37474f19731fd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8d6ba54f52e216edd37474f19731fd8">&#9670;&nbsp;</a></span>group_complete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void llfio_v2_xxx::dynamic_thread_pool_group::work_item::group_complete </td>
+ <td>(</td>
+ <td class="paramtype">const result&lt; void &gt; &amp;&#160;</td>
+ <td class="paramname"><em>cancelled</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Invoked by the i/o thread pool when all work in this thread pool group is complete.</p>
+<p><code>cancelled</code> indicates if this is an abnormal completion. If its error compares equal to <code>errc::operation_cancelled</code>, then <code>stop()</code> was called.</p>
+<p>Just before this is called for all work items submitted, the group becomes reset to fresh, and <code>parent()</code> becomes null. You can resubmit this work item, but do not submit other work items until their <code>group_complete()</code> has been invoked.</p>
+<p>Note that this function is called from multiple kernel threads.</p>
+<p><code>dynamic_thread_pool_group::current_work_item()</code> may have any value during this call. </p>
+<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{ (void) cancelled; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a68e317002adf480e0a4c076410e35e8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68e317002adf480e0a4c076410e35e8e">&#9670;&nbsp;</a></span>operator()()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::dynamic_thread_pool_group::work_item::operator() </td>
+ <td>(</td>
+ <td class="paramtype">intptr_t&#160;</td>
+ <td class="paramname"><em>work</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Invoked by the i/o thread pool to perform the next item of work.</p>
+<dl class="section return"><dt>Returns</dt><dd>Any failure causes all remaining work in this group to be cancelled as soon as possible. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">work</td><td>The value returned by <code>next()</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Note that this function is called from multiple kernel threads, and may not be the kernel thread from which <code>next()</code> was called.</p>
+<p><code>dynamic_thread_pool_group::current_work_item()</code> will always be <code>this</code> during this call. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/dynamic_thread_pool_group.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">io_aware_work_item</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.js b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.js
new file mode 100644
index 00000000..1b1b7786
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.js
@@ -0,0 +1,19 @@
+var classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item =
+[
+ [ "io_handle_awareness", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness" ],
+ [ "io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa2b895fcc057bd6ee33ba2c116e5e978", null ],
+ [ "io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78", null ],
+ [ "io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa090c92e4adf339d8092465934b82f03", null ],
+ [ "~io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a08a869b40d064969f1b5f3536e2857a4", null ],
+ [ "_has_timer_set", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a2c49153ff193f7b3d948eec37b5509f7", null ],
+ [ "_has_timer_set_absolute", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a1c2850bf3778d32c335eace1f05ea3b7", null ],
+ [ "_has_timer_set_relative", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa6641deb837cc77540b1a9bdf41afa6f", null ],
+ [ "group_complete", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ae8d6ba54f52e216edd37474f19731fd8", null ],
+ [ "handles", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22", null ],
+ [ "io_aware_next", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821", null ],
+ [ "operator()", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a68e317002adf480e0a4c076410e35e8e", null ],
+ [ "parent", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aee890b7a94a8d7a24e9b55aef8177c49", null ],
+ [ "max_iosbusytime", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef", null ],
+ [ "max_iosinprogress", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688", null ],
+ [ "min_iosinprogress", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.png b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.png
new file mode 100644
index 00000000..70dcd28e
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item-members.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item-members.html
new file mode 100644
index 00000000..fcc0505e
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item-members.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::work_item Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_has_timer_set</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_has_timer_set_absolute</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_has_timer_set_relative</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>dynamic_thread_pool_group_impl</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">group_complete</a>(const result&lt; void &gt; &amp;cancelled) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35">next</a>(deadline &amp;d) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">operator()</a>(intptr_t work) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const work_item &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(work_item &amp;&amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">parent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>work_item</b>(const work_item &amp;o)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>work_item</b>(work_item &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~work_item</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html
new file mode 100644
index 00000000..1334d626
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html
@@ -0,0 +1,274 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::dynamic_thread_pool_group::work_item Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::work_item Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An individual item of work within the work group.
+ <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#details">More...</a></p>
+
+<p><code>#include &quot;dynamic_thread_pool_group.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::dynamic_thread_pool_group::work_item:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.png" usemap="#llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::work_5Fitem_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::work_5Fitem_map" name="llfio_5Fv2_5Fxxx::dynamic_5Fthread_5Fpool_5Fgroup::work_5Fitem_map">
+<area href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html" title="A work item which paces when it next executes according to i/o congestion." alt="llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item" shape="rect" coords="0,56,366,80"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aee890b7a94a8d7a24e9b55aef8177c49"><td class="memItemLeft" align="right" valign="top"><a id="aee890b7a94a8d7a24e9b55aef8177c49"></a>
+<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">parent</a> () const noexcept</td></tr>
+<tr class="memdesc:aee890b7a94a8d7a24e9b55aef8177c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the parent work group between successful submission and just before <code>group_complete()</code>. <br /></td></tr>
+<tr class="separator:aee890b7a94a8d7a24e9b55aef8177c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ac186ccb6ee8aa13ba9a0e528617a35"><td class="memItemLeft" align="right" valign="top">virtual intptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35">next</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> &amp;d) noexcept=0</td></tr>
+<tr class="separator:a0ac186ccb6ee8aa13ba9a0e528617a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68e317002adf480e0a4c076410e35e8e"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">operator()</a> (intptr_t work) noexcept=0</td></tr>
+<tr class="separator:a68e317002adf480e0a4c076410e35e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8d6ba54f52e216edd37474f19731fd8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">group_complete</a> (const result&lt; void &gt; &amp;cancelled) noexcept</td></tr>
+<tr class="separator:ae8d6ba54f52e216edd37474f19731fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:aa6641deb837cc77540b1a9bdf41afa6f"><td class="memItemLeft" align="right" valign="top"><a id="aa6641deb837cc77540b1a9bdf41afa6f"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set_relative</b> () const noexcept</td></tr>
+<tr class="separator:aa6641deb837cc77540b1a9bdf41afa6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c2850bf3778d32c335eace1f05ea3b7"><td class="memItemLeft" align="right" valign="top"><a id="a1c2850bf3778d32c335eace1f05ea3b7"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set_absolute</b> () const noexcept</td></tr>
+<tr class="separator:a1c2850bf3778d32c335eace1f05ea3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c49153ff193f7b3d948eec37b5509f7"><td class="memItemLeft" align="right" valign="top"><a id="a2c49153ff193f7b3d948eec37b5509f7"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>_has_timer_set</b> () const noexcept</td></tr>
+<tr class="separator:a2c49153ff193f7b3d948eec37b5509f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af415e6b3b6db0eb3c126ff21ff6fa546"><td class="memItemLeft" align="right" valign="top"><a id="af415e6b3b6db0eb3c126ff21ff6fa546"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>work_item</b> (const <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;o)=delete</td></tr>
+<tr class="separator:af415e6b3b6db0eb3c126ff21ff6fa546"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a340f332db74817420896cb3478ed9f32"><td class="memItemLeft" align="right" valign="top"><a id="a340f332db74817420896cb3478ed9f32"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>work_item</b> (<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a340f332db74817420896cb3478ed9f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb61b18d7483fbc86768db0973b25e74"><td class="memItemLeft" align="right" valign="top"><a id="acb61b18d7483fbc86768db0973b25e74"></a>
+<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;)=delete</td></tr>
+<tr class="separator:acb61b18d7483fbc86768db0973b25e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6311b4975fc6aa06dfa0f6b69d91ca3"><td class="memItemLeft" align="right" valign="top"><a id="ab6311b4975fc6aa06dfa0f6b69d91ca3"></a>
+<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a> &amp;&amp;)=delete</td></tr>
+<tr class="separator:ab6311b4975fc6aa06dfa0f6b69d91ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:acd9883ca1a476119de857fac1601332a"><td class="memItemLeft" align="right" valign="top"><a id="acd9883ca1a476119de857fac1601332a"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>dynamic_thread_pool_group_impl</b></td></tr>
+<tr class="separator:acd9883ca1a476119de857fac1601332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An individual item of work within the work group. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ae8d6ba54f52e216edd37474f19731fd8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae8d6ba54f52e216edd37474f19731fd8">&#9670;&nbsp;</a></span>group_complete()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void llfio_v2_xxx::dynamic_thread_pool_group::work_item::group_complete </td>
+ <td>(</td>
+ <td class="paramtype">const result&lt; void &gt; &amp;&#160;</td>
+ <td class="paramname"><em>cancelled</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Invoked by the i/o thread pool when all work in this thread pool group is complete.</p>
+<p><code>cancelled</code> indicates if this is an abnormal completion. If its error compares equal to <code>errc::operation_cancelled</code>, then <code>stop()</code> was called.</p>
+<p>Just before this is called for all work items submitted, the group becomes reset to fresh, and <code>parent()</code> becomes null. You can resubmit this work item, but do not submit other work items until their <code>group_complete()</code> has been invoked.</p>
+<p>Note that this function is called from multiple kernel threads.</p>
+<p><code>dynamic_thread_pool_group::current_work_item()</code> may have any value during this call. </p>
+<div class="fragment"><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{ (void) cancelled; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a0ac186ccb6ee8aa13ba9a0e528617a35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ac186ccb6ee8aa13ba9a0e528617a35">&#9670;&nbsp;</a></span>next()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual intptr_t llfio_v2_xxx::dynamic_thread_pool_group::work_item::next </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> &amp;&#160;</td>
+ <td class="paramname"><em>d</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Invoked by the i/o thread pool to determine if this work item has more work to do.</p>
+<dl class="section return"><dt>Returns</dt><dd>If there is no work <em>currently</em> available to do, but there might be some later, you should return zero. You will be called again later after other work has been done. If you return -1, you are saying that no further work will be done, and the group need never call you again. If you have more work you want to do, return any other value. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">d</td><td>Optional delay before the next item of work ought to be executed (return != 0), or <code>next()</code> ought to be called again to determine the next item (return == 0). On entry <code>d</code> is set to no delay, so if you don't modify it, the next item of work occurs as soon as possible.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Note that this function is called from multiple kernel threads. You must NOT do any significant work in this function. In particular do NOT call any dynamic thread pool group function, as you will experience deadlock.</p>
+<p><code>dynamic_thread_pool_group::current_work_item()</code> may have any value during this call. </p>
+
+</div>
+</div>
+<a id="a68e317002adf480e0a4c076410e35e8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68e317002adf480e0a4c076410e35e8e">&#9670;&nbsp;</a></span>operator()()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::dynamic_thread_pool_group::work_item::operator() </td>
+ <td>(</td>
+ <td class="paramtype">intptr_t&#160;</td>
+ <td class="paramname"><em>work</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Invoked by the i/o thread pool to perform the next item of work.</p>
+<dl class="section return"><dt>Returns</dt><dd>Any failure causes all remaining work in this group to be cancelled as soon as possible. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">work</td><td>The value returned by <code>next()</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Note that this function is called from multiple kernel threads, and may not be the kernel thread from which <code>next()</code> was called.</p>
+<p><code>dynamic_thread_pool_group::current_work_item()</code> will always be <code>this</code> during this call. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/dynamic_thread_pool_group.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html">work_item</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.js b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.js
new file mode 100644
index 00000000..15610531
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.js
@@ -0,0 +1,17 @@
+var classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item =
+[
+ [ "work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aa46655b633738fbab1680a9dc8e28286", null ],
+ [ "work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#af415e6b3b6db0eb3c126ff21ff6fa546", null ],
+ [ "work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a340f332db74817420896cb3478ed9f32", null ],
+ [ "~work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a8b371d477b5784746ceb5681dce5f426", null ],
+ [ "_has_timer_set", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a2c49153ff193f7b3d948eec37b5509f7", null ],
+ [ "_has_timer_set_absolute", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a1c2850bf3778d32c335eace1f05ea3b7", null ],
+ [ "_has_timer_set_relative", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aa6641deb837cc77540b1a9bdf41afa6f", null ],
+ [ "group_complete", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8", null ],
+ [ "next", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35", null ],
+ [ "operator()", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#acb61b18d7483fbc86768db0973b25e74", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ab6311b4975fc6aa06dfa0f6b69d91ca3", null ],
+ [ "parent", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49", null ],
+ [ "dynamic_thread_pool_group_impl", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#acd9883ca1a476119de857fac1601332a", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.png b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.png
new file mode 100644
index 00000000..99319523
--- /dev/null
+++ b/classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1error-members.html b/classllfio__v2__xxx_1_1error-members.html
index e1be1114..cee74333 100644
--- a/classllfio__v2__xxx_1_1error-members.html
+++ b/classllfio__v2__xxx_1_1error-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html','')
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1error.html b/classllfio__v2__xxx_1_1error.html
index 2cdc6129..06732a5b 100644
--- a/classllfio__v2__xxx_1_1error.html
+++ b/classllfio__v2__xxx_1_1error.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::error Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,9 +99,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1error.html','')
Inheritance diagram for llfio_v2_xxx::error:</div>
<div class="dyncontent">
<div class="center">
- <img src="classllfio__v2__xxx_1_1error.png" usemap="#llfio_5Fv2_5Fxxx::error_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::error_map" name="llfio_5Fv2_5Fxxx::error_map">
-</map>
+ <img src="classllfio__v2__xxx_1_1error.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@@ -128,7 +128,7 @@ Public Attributes</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1error.html">error</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable-members.html b/classllfio__v2__xxx_1_1executor-members.html
index d5c78dd3..0c4057c8 100644
--- a/classllfio__v2__xxx_1_1async__file__handle_1_1awaitable-members.html
+++ b/classllfio__v2__xxx_1_1executor-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1executor.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,16 +83,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt; Member List</div> </div>
+<div class="title">llfio_v2_xxx::executor Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1executor.html">llfio_v2_xxx::executor</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>async_file_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae">await_ready</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2">await_resume</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d">await_suspend</a>(coroutine_handle&lt;&gt; co)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>submit</b>(receiver &amp;&amp;)=0 (defined in <a class="el" href="classllfio__v2__xxx_1_1executor.html">llfio_v2_xxx::executor</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1executor.html">llfio_v2_xxx::executor</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~executor</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1executor.html">llfio_v2_xxx::executor</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1executor.html">llfio_v2_xxx::executor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html b/classllfio__v2__xxx_1_1executor.html
index d79b7ae4..a73206ca 100644
--- a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html
+++ b/classllfio__v2__xxx_1_1executor.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage Union Reference</title>
+<title>LLFIO: llfio_v2_xxx::executor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1executor.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,34 +83,38 @@ $(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1async__file__ha
<div class="header">
<div class="summary">
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html">List of all members</a> </div>
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classllfio__v2__xxx_1_1executor-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage Union Reference</div> </div>
+<div class="title">llfio_v2_xxx::executor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
+
+<p>Some implementation of a C++ Executor.
+ <a href="classllfio__v2__xxx_1_1executor.html#details">More...</a></p>
+
+<p><code>#include &quot;multiplex.hpp&quot;</code></p>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:aae111f516499383537896913c82e4561"><td class="memItemLeft" align="right" valign="top"><a id="aae111f516499383537896913c82e4561"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b></td></tr>
-<tr class="separator:aae111f516499383537896913c82e4561"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab845f8cfc97b0860aab950e6ecdc85eb"><td class="memItemLeft" align="right" valign="top"><a id="ab845f8cfc97b0860aab950e6ecdc85eb"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b></td></tr>
-<tr class="separator:ab845f8cfc97b0860aab950e6ecdc85eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a615d561f4282c348a0158bafa1c0bfef"><td class="memItemLeft" align="right" valign="top"><a id="a615d561f4282c348a0158bafa1c0bfef"></a>
+virtual sender&#160;</td><td class="memItemRight" valign="bottom"><b>submit</b> (receiver &amp;&amp;)=0</td></tr>
+<tr class="separator:a615d561f4282c348a0158bafa1c0bfef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<hr/>The documentation for this union was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></li>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Some implementation of a C++ Executor. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/multiplex.hpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a></li><li class="navelem"><b>_erased_io_state_type</b></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">result_storage</a></li>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1executor.html">executor</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1executor.js b/classllfio__v2__xxx_1_1executor.js
new file mode 100644
index 00000000..399b93f9
--- /dev/null
+++ b/classllfio__v2__xxx_1_1executor.js
@@ -0,0 +1,5 @@
+var classllfio__v2__xxx_1_1executor =
+[
+ [ "~executor", "classllfio__v2__xxx_1_1executor.html#a335698817f89dfa3b8c8c827e1b5d634", null ],
+ [ "submit", "classllfio__v2__xxx_1_1executor.html#a615d561f4282c348a0158bafa1c0bfef", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle-members.html b/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
index b3ee03a3..b5f6074d 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,35 +89,53 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind=barrier_kind::nowait_data_only, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c">_do_max_buffers</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">llfio_v2_xxx::file_handle::_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">llfio_v2_xxx::file_handle::_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_length</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_perms_check</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_prng</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind=barrier_kind::nowait_data_only, deadline=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a>(extent_pair extent, io_handle &amp;dest, io_handle::extent_type destoffset, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a>(io_handle &amp;dest, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">extents</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">extents</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1">fast_random_file</a>(extent_type bytes=(extent_type) -1, mode _mode=mode::read, span&lt; const byte &gt; seed={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">fast_random_file_handle</a>()=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63">fast_random_file_handle</a>(extent_type length, span&lt; const byte &gt; seed)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -123,10 +143,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247">fast_random_file_handle</a>(const fast_random_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2">file_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e">file_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42">file_handle</a>(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd">file_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
@@ -139,80 +163,133 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">llfio_v2_xxx::file_handle::lock_range</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">llfio_v2_xxx::file_handle::lock_range</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">lock_file_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_file_range</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_file_range</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398">maximum_extent</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">operator=</a>(fast_random_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c">operator=</a>(const fast_random_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle::operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">operator=</a>(fast_random_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c">operator=</a>(const fast_random_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle::operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">llfio_v2_xxx::lockable_io_handle::operator=</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">llfio_v2_xxx::lockable_io_handle::operator=</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">reopen</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9">swap</a>(fast_random_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::lockable_io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">unlock_range</a>(extent_type, extent_type) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">zero</a>(extent_type, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_zero</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_zero_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_zero_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">unlock_file_range</a>(extent_type, extent_type) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd">zero</a>(file_handle::extent_pair extent, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">llfio_v2_xxx::file_handle::zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~fast_random_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~lockable_io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -220,7 +297,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle.html b/classllfio__v2__xxx_1_1fast__random__file__handle.html
index 432d74b5..2d0c032a 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle.html
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::fast_random_file_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,10 +88,11 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1fast__random__file__handle-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::fast_random_file_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+<div class="title">llfio_v2_xxx::fast_random_file_handle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -103,12 +106,13 @@ Inheritance diagram for llfio_v2_xxx::fast_random_file_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1fast__random__file__handle.png" usemap="#llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle_map" name="llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="116,112,338,136"/>
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,222,80"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="232,56,454,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,222,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="116,168,338,192"/>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="0,112,222,136"/>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="232,112,454,136"/>
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,222,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,222,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -148,42 +152,43 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
<tr class="separator:a6c0545db3c2e8fe9ffdafbfbe4b7f6e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1020835dc0f70fbc8a7b852fa8d5c0b6"><td class="memItemLeft" align="right" valign="top"><a id="a1020835dc0f70fbc8a7b852fa8d5c0b6"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
<tr class="separator:a1020835dc0f70fbc8a7b852fa8d5c0b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39516dc5f2780e42afe5dbb836829f56"><td class="memItemLeft" align="right" valign="top"><a id="a39516dc5f2780e42afe5dbb836829f56"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
<tr class="separator:a39516dc5f2780e42afe5dbb836829f56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4a682714d5d3487bf2538facf4c02ee"><td class="memItemLeft" align="right" valign="top"><a id="aa4a682714d5d3487bf2538facf4c02ee"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
<tr class="separator:aa4a682714d5d3487bf2538facf4c02ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0a7e494477cecde8e160f8f20ef572"><td class="memItemLeft" align="right" valign="top"><a id="a4b0a7e494477cecde8e160f8f20ef572"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
<tr class="separator:a4b0a7e494477cecde8e160f8f20ef572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55b1ab8db8c3016c5bc75f1548e2f8e8"><td class="memTemplParams" colspan="2"><a id="a55b1ab8db8c3016c5bc75f1548e2f8e8"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a55b1ab8db8c3016c5bc75f1548e2f8e8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a55b1ab8db8c3016c5bc75f1548e2f8e8"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
<tr class="separator:a55b1ab8db8c3016c5bc75f1548e2f8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a386543b3dd65d4d416d755a153eef593"><td class="memTemplParams" colspan="2"><a id="a386543b3dd65d4d416d755a153eef593"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a386543b3dd65d4d416d755a153eef593"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a386543b3dd65d4d416d755a153eef593"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:a386543b3dd65d4d416d755a153eef593"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa25e3ab298152166fc387d8fcfb19a63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> { <b>unknown</b>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>
- }<tr class="memdesc:aa25e3ab298152166fc387d8fcfb19a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:aa25e3ab298152166fc387d8fcfb19a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -227,29 +232,20 @@ virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="b
virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">truncate</a> (extent_type newsize) noexcept override</td></tr>
<tr class="memdesc:a3e147cacf24cb8d96b6c57f30692fda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the current maximum permitted extent of the random file to the given extent. <br /></td></tr>
<tr class="separator:a3e147cacf24cb8d96b6c57f30692fda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab88d8d93300d1525d52ad1eb4e00e504"><td class="memItemLeft" align="right" valign="top"><a id="ab88d8d93300d1525d52ad1eb4e00e504"></a>
-virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">zero</a> (extent_type, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:ab88d8d93300d1525d52ad1eb4e00e504"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero a portion of the random file (does nothing). <br /></td></tr>
-<tr class="separator:ab88d8d93300d1525d52ad1eb4e00e504"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bc75ea73ffb575d36e9800b8e1e5af0"><td class="memItemLeft" align="right" valign="top"><a id="a9bc75ea73ffb575d36e9800b8e1e5af0"></a>
-virtual result&lt; std::vector&lt; std::pair&lt; extent_type, extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">extents</a> () const noexcept override</td></tr>
-<tr class="memdesc:a9bc75ea73ffb575d36e9800b8e1e5af0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a single extent of the maximum extent. <br /></td></tr>
-<tr class="separator:a9bc75ea73ffb575d36e9800b8e1e5af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae84ac3c127d067d44d978e4621d4d2f1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:ae84ac3c127d067d44d978e4621d4d2f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the random file. <a href="#ae84ac3c127d067d44d978e4621d4d2f1">More...</a><br /></td></tr>
-<tr class="separator:ae84ac3c127d067d44d978e4621d4d2f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abdbe878fecb166d1eda5ddc4718e101d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:abdbe878fecb166d1eda5ddc4718e101d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fails to write to the random file. <a href="#abdbe878fecb166d1eda5ddc4718e101d">More...</a><br /></td></tr>
-<tr class="separator:abdbe878fecb166d1eda5ddc4718e101d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a28f78f709ba3d7b26ba38cefa21fd7b8"><td class="memItemLeft" align="right" valign="top"><a id="a28f78f709ba3d7b26ba38cefa21fd7b8"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a28f78f709ba3d7b26ba38cefa21fd7b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b27d0f83fb72ebaa1e6a2eead9bec3e"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:a3b27d0f83fb72ebaa1e6a2eead9bec3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a3b27d0f83fb72ebaa1e6a2eead9bec3e">More...</a><br /></td></tr>
-<tr class="separator:a3b27d0f83fb72ebaa1e6a2eead9bec3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b20ae88c350702b39f41d8223f0b164"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">unlock_range</a> (extent_type, extent_type) noexcept override</td></tr>
-<tr class="memdesc:a0b20ae88c350702b39f41d8223f0b164"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="#a0b20ae88c350702b39f41d8223f0b164">More...</a><br /></td></tr>
-<tr class="separator:a0b20ae88c350702b39f41d8223f0b164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8393617b1f8ea7cc16ec5e15ee8166bd"><td class="memItemLeft" align="right" valign="top"><a id="a8393617b1f8ea7cc16ec5e15ee8166bd"></a>
+virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd">zero</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">file_handle::extent_pair</a> extent, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a8393617b1f8ea7cc16ec5e15ee8166bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero a portion of the random file (does nothing). <br /></td></tr>
+<tr class="separator:a8393617b1f8ea7cc16ec5e15ee8166bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8026691789a70593329230076357fc96"><td class="memItemLeft" align="right" valign="top"><a id="a8026691789a70593329230076357fc96"></a>
+virtual result&lt; std::vector&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">file_handle::extent_pair</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">extents</a> () const noexcept override</td></tr>
+<tr class="memdesc:a8026691789a70593329230076357fc96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a single extent of the maximum extent. <br /></td></tr>
+<tr class="separator:a8026691789a70593329230076357fc96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bba3f508224b7412f2fb3c050ca9711"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">lock_file_range</a> (extent_type offset, extent_type bytes, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a6bba3f508224b7412f2fb3c050ca9711"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. <a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">More...</a><br /></td></tr>
+<tr class="separator:a6bba3f508224b7412f2fb3c050ca9711"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7830dff75463d4e0bf8d871bdc75055d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">unlock_file_range</a> (extent_type, extent_type) noexcept override</td></tr>
+<tr class="memdesc:a7830dff75463d4e0bf8d871bdc75055d"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">More...</a><br /></td></tr>
+<tr class="separator:a7830dff75463d4e0bf8d871bdc75055d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0cfbde678b809518ca005251ec64808"><td class="memItemLeft" align="right" valign="top"><a id="ad0cfbde678b809518ca005251ec64808"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:ad0cfbde678b809518ca005251ec64808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -258,46 +254,179 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
-<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr>
-<tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr>
-<tr class="separator:ae7735588338065ede0ab9b7f979bc65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e46c6ea379152eb559ab15990f7c467"><td class="memItemLeft" align="right" valign="top"><a id="a6e46c6ea379152eb559ab15990f7c467"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a6e46c6ea379152eb559ab15990f7c467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience initialiser list based overload for <code>read()</code> <br /></td></tr>
-<tr class="separator:a6e46c6ea379152eb559ab15990f7c467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c5c229b11f488d0e9bff74c65737db2"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a3c5c229b11f488d0e9bff74c65737db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4055bb02680af02dcc189f0461bad503"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a4055bb02680af02dcc189f0461bad503"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2919da8c2520240c4e65f18f68872fd0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind) noexcept</td></tr>
-<tr class="separator:a2919da8c2520240c4e65f18f68872fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:aa276caa8542cca700a2574459395ff60"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">reopen</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:aa276caa8542cca700a2574459395ff60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memTemplParams" colspan="2"><a id="aa8040aa44a0482224dbf5e9fc3131b19"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memTemplParams" colspan="2"><a id="a5d89a5de0941ba6d1193a5b87cde28af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af620e483e3963be3b09794da4040db12"><td class="memTemplParams" colspan="2"><a id="af620e483e3963be3b09794da4040db12"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:af620e483e3963be3b09794da4040db12"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:af620e483e3963be3b09794da4040db12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> extent, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, io_handle::extent_type destoffset, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. <a href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">More...</a><br /></td></tr>
+<tr class="separator:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memItemLeft" align="right" valign="top"><a id="a4c7af63bc67f6eacd7097e4cae3f85ce"></a>
+result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a800b4d046b9648a9a4a69a7797548ee4"><td class="memItemLeft" align="right" valign="top"><a id="a800b4d046b9648a9a4a69a7797548ee4"></a>
+result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a800b4d046b9648a9a4a69a7797548ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a800b4d046b9648a9a4a69a7797548ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplParams" colspan="2"><a id="afab4b38fba3730a36ba0b2f849dc6777"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:afab4b38fba3730a36ba0b2f849dc6777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplParams" colspan="2"><a id="aab4e4f580aee606c0796c6352f1f327a"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:aab4e4f580aee606c0796c6352f1f327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplParams" colspan="2"><a id="a9e64021bc1f570d8c0c8b9c413981289"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a9e64021bc1f570d8c0c8b9c413981289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a469019e3bbcd7b37499b8604af713b40"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a469019e3bbcd7b37499b8604af713b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for exclusive access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">More...</a><br /></td></tr>
+<tr class="separator:a469019e3bbcd7b37499b8604af713b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">More...</a><br /></td></tr>
+<tr class="separator:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a561ef83b4fe400b59c9d92444913c180"><td class="memItemLeft" align="right" valign="top"><a id="a561ef83b4fe400b59c9d92444913c180"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a561ef83b4fe400b59c9d92444913c180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired exclusive lock. <br /></td></tr>
+<tr class="separator:a561ef83b4fe400b59c9d92444913c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa24a432125e5b51b13f21d9b74fa4721"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa24a432125e5b51b13f21d9b74fa4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for shared access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">More...</a><br /></td></tr>
+<tr class="separator:aa24a432125e5b51b13f21d9b74fa4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8e3d809cb954d99e228ee756bac1c64"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:ad8e3d809cb954d99e228ee756bac1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">More...</a><br /></td></tr>
+<tr class="separator:ad8e3d809cb954d99e228ee756bac1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memItemLeft" align="right" valign="top"><a id="afc5ba16c0377a56b7e1a66a9c6d0a703"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired shared lock. <br /></td></tr>
+<tr class="separator:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9582b139a2b92ff13708a4de547c5605"><td class="memItemLeft" align="right" valign="top"><a id="a9582b139a2b92ff13708a4de547c5605"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a9582b139a2b92ff13708a4de547c5605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memItemLeft" align="right" valign="top"><a id="aa87c3e22aa12084cb48fb29c5b10c78d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplParams" colspan="2"><a id="a393d056936c3f262aff76ed406858a95"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a393d056936c3f262aff76ed406858a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplParams" colspan="2"><a id="ae3b16c444914200a7e5ab3cd0ba2d002"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplParams" colspan="2"><a id="a7727a23852d90bd5ea4e47044d20cfee"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a7727a23852d90bd5ea4e47044d20cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
@@ -319,12 +448,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -345,6 +478,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -357,6 +498,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -395,10 +540,60 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
@@ -406,8 +601,8 @@ Static Public Member Functions</h2></td></tr>
<tr class="separator:ad7a9a1810c10a5b34c1134d942cfa1c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e6b3e9806b328a687a55e955b885a3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a09e6b3e9806b328a687a55e955b885a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3141a85996e46a3cc6b238d321198e47"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a3141a85996e46a3cc6b238d321198e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b7aa986243527fe224425f61c179709"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:a8b7aa986243527fe224425f61c179709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428114e3c8628c0621b1aa156051651c"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a428114e3c8628c0621b1aa156051651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eff21e1833be0c21f72477c593fadc5"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
@@ -418,31 +613,71 @@ Protected Member Functions</h2></td></tr>
<tr class="memitem:a6d7f0bf0df9384635111f23bd63d1792"><td class="memItemLeft" align="right" valign="top"><a id="a6d7f0bf0df9384635111f23bd63d1792"></a>
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_perms_check</b> () const noexcept</td></tr>
<tr class="separator:a6d7f0bf0df9384635111f23bd63d1792"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48ac4aa65006a003725b9ff5ace24b7c"><td class="memItemLeft" align="right" valign="top"><a id="a48ac4aa65006a003725b9ff5ace24b7c"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c">_do_max_buffers</a> () const noexcept override</td></tr>
+<tr class="memdesc:a48ac4aa65006a003725b9ff5ace24b7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a48ac4aa65006a003725b9ff5ace24b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4e250d41ea7ebb4da6201377ccb397e"><td class="memItemLeft" align="right" valign="top"><a id="ae4e250d41ea7ebb4da6201377ccb397e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:ae4e250d41ea7ebb4da6201377ccb397e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ae4e250d41ea7ebb4da6201377ccb397e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56599da1306c86d6c8031ffdd38f66b8"><td class="memItemLeft" align="right" valign="top"><a id="a56599da1306c86d6c8031ffdd38f66b8"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a56599da1306c86d6c8031ffdd38f66b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a56599da1306c86d6c8031ffdd38f66b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f23700faf89482551db07f54b95c292"><td class="memItemLeft" align="right" valign="top"><a id="a7f23700faf89482551db07f54b95c292"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a7f23700faf89482551db07f54b95c292"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a7f23700faf89482551db07f54b95c292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc2b24484565bcb0cf654adf2f732f7e"><td class="memItemLeft" align="right" valign="top"><a id="adc2b24484565bcb0cf654adf2f732f7e"></a>
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a> () const noexcept</td></tr>
<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:a81a7ae5e213b40fdece1f76430eea161"><td class="memItemLeft" align="right" valign="top"><a id="a81a7ae5e213b40fdece1f76430eea161"></a>
+<tr class="memitem:aed4fd04da0a564159d6ccdcd724d0d7a"><td class="memItemLeft" align="right" valign="top"><a id="aed4fd04da0a564159d6ccdcd724d0d7a"></a>
<a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html">llfio_v2_xxx::fast_random_file_handle::prng</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_prng</b></td></tr>
-<tr class="separator:a81a7ae5e213b40fdece1f76430eea161"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:aed4fd04da0a564159d6ccdcd724d0d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5040ad73419130910156162006f37c1"><td class="memItemLeft" align="right" valign="top"><a id="ae5040ad73419130910156162006f37c1"></a>
extent_type&#160;</td><td class="memItemRight" valign="bottom"><b>_length</b> {0}</td></tr>
<tr class="separator:ae5040ad73419130910156162006f37c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2c2b2847fd039b9c255633e6031817a"><td class="memItemLeft" align="right" valign="top"><a id="aa2c2b2847fd039b9c255633e6031817a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
-<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -456,7 +691,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>Note that writes to this handle are permitted if it was opened with write permission, but writes have no effect.</p>
<p>The use for a file handle full of random data may not be obvious. The first is to obfuscate another file's data using <code>algorithm::xor_handle_adapter</code>. The second is for mock ups in testing, where this file handle stands in for some other (large) file, and you are testing throughput or latency in processing code.</p>
<p>The third is for unit testing randomly corrupted file data. <code>algorithm::mix_handle_adapter</code> can randomly mix scatter gather buffers from this file handle into another file handle in order to test how well handling code copes with random data corruption.</p>
-<h2>Benchmarks:</h2>
+<h2><a class="anchor" id="autotoc_md6"></a>
+Benchmarks:</h2>
<p>On a 3.1Ghz Intel Skylake CPU where <code>memcpy()</code> can do ~12Gb/sec:</p>
<ul>
<li>GCC7: 4659 Mb/sec</li>
@@ -464,9 +700,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</ul>
<p>The current implementation spots when it can do 16x simultaneous PRNG rounds, and thus can fill a cache line at a time. The Skylake CPU used to benchmark the code dispatches around four times the throughput with this, however there is likely still performance left on the table.</p>
<p>If someone were bothered to rewrite the JSF PRNG into SIMD, it is possible one could approach <code>memcpy()</code> in performance. One would probably need to use AVX-512 however, as the JSF PRNG makes heavy use of bit rotation, which is slow before AVX-512 as it must be emulated with copious bit shifting and masking. </p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
<div class="memitem">
<div class="memproto">
@@ -475,32 +711,42 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aa25e3ab298152166fc387d8fcfb19a63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa25e3ab298152166fc387d8fcfb19a63">&#9670;&nbsp;</a></span>lock_kind</h2>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -509,29 +755,88 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle::lock_kind</a></td>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of concurrent user exclusion which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"></a>shared&#160;</td><td class="fielddoc"><p>Exclude only those requesting an exclusive lock on the same inode. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"></a>exclusive&#160;</td><td class="fielddoc"><p>Exclude those requesting any kind of lock on the same inode. </p>
-</td></tr>
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
</table>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; unknown,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; shared, <span class="comment">//!&lt; Exclude only those requesting an exclusive lock on the same inode.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> exclusive <span class="comment">//!&lt; Exclude those requesting any kind of lock on the same inode.</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
</div>
</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a2aea4109a6ac4323b8cb4ea435ec9c94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2aea4109a6ac4323b8cb4ea435ec9c94">&#9670;&nbsp;</a></span>clone_extents_to()</h2>
<div class="memitem">
<div class="memproto">
@@ -540,22 +845,40 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td class="memname">virtual result&lt;<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&gt; llfio_v2_xxx::file_handle::clone_extents_to </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&#160;</td>
+ <td class="paramname"><em>extent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ <td class="paramtype">io_handle::extent_type&#160;</td>
+ <td class="paramname"><em>destoffset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>{}</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_copy_now</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>emulate_if_unsupported</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -565,33 +888,24 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<p>Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. </p>
+<p>Some of the filesystems on the major operating systems implement copy-on-write extent reference counting, and thus can very cheaply link a "copy" of extents in one file into another file (at the time of writing - Linux: XFS, btrfs, ocfs2, smbfs; Mac OS: APFS; Windows: ReFS, CIFS). Upon first write into an extent, only then is a new copy formed for the specific extents being modified. Note that extent cloning is usually only possible in cluster sized amounts, so if the portion you clone is not so aligned, new extents will be allocated for the spill into non-aligned portions. Obviously, cloning an entire file in a single shot does not have that problem.</p>
+<p>Networked filing systems typically can also implement remote extent copying, such that extents can be copied between files entirely upon the remote server, and avoiding the copy going over the network. This is usually far more efficient.</p>
+<p>This implementation first enumerates the valid extents for the region requested, and only clones extents which are reported as valid. It then iterates the platform specific syscall to cause the extents to be cloned in <code>utils::page_allocator&lt;T&gt;</code> sized chunks (i.e. the next large page greater or equal to 1Mb). Generally speaking, if the dedicated syscalls fail, the implementation falls back to a user space emulation, unless <code>emulate_if_unsupported</code> is false.</p>
+<p>If the region being cloned does not exist in the source file, the region is truncated to what is available. If the destination file is not big enough to receive the cloned region, it is extended. If the clone is occurring within the same inode, you should ensure that the regions do not overlap, as cloning regions which overlap has platform-specific semantics. If they do overlap, you should always set <code>force_copy_now</code> for portable code.</p>
+<dl class="section note"><dt>Note</dt><dd>The current implementation does not permit overlapping clones within the same inode to differ by less than <code>utils::page_allocator&lt;T&gt;</code> sized chunks. It will fail with an error code comparing equal to <code>errc::invalid_parameter</code>.</dd></dl>
+<p>If you really want the copy to happen now, and not later via copy-on-write, set <code>force_copy_now</code>. Note that this forces <code>emulate_if_unsupported</code> to true.</p>
+<p>If <code>dest</code> is not a <code>file_handle</code>, <code>sendfile()</code> is used and the destination offset and gaps in the source valid extents are ignored. </p>
</div>
</div>
-<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -600,44 +914,52 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
-<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
<div class="memitem">
<div class="memproto">
@@ -646,10 +968,69 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -658,9 +1039,19 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -688,11 +1079,12 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -743,11 +1135,29 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {}) noexcept</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> errc::invalid_argument;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; byte _seed[16];</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span>(seed.empty())</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">utils::random_fill</a>((<span class="keywordtype">char</span> *) _seed, <span class="keyword">sizeof</span>(_seed));</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; seed = _seed;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; result&lt;fast_random_file_handle&gt; ret(<a class="code" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">fast_random_file_handle</a>(bytes, seed));</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; native_handle_type &amp;nativeh = ret.value()._v;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; LLFIO_LOG_FUNCTION_CALL(&amp;ret);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; nativeh.behaviour |= <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">native_handle_type::disposition::file</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; nativeh.behaviour |= native_handle_type::disposition::seekable | native_handle_type::disposition::readable;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; nativeh.behaviour |= native_handle_type::disposition::writable;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1fast__random__file__handle_html_a4661a9c1551d33d054ccd80599806ba7"><div class="ttname"><a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle</a></div><div class="ttdeci">fast_random_file_handle()=default</div><div class="ttdoc">Default constructor. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:501</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_ae61e2de30b06776a1c24643a1d1dc64e"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a></div><div class="ttdeci">void random_fill(char *buffer, size_t bytes) noexcept</div><div class="ttdoc">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
+<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {}) noexcept</div>
+<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>)</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> errc::invalid_argument;</div>
+<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
+<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordtype">byte</span> _seed[16];</div>
+<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span>(seed.empty())</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">utils::random_fill</a>((<span class="keywordtype">char</span> *) _seed, <span class="keyword">sizeof</span>(_seed));</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; seed = _seed;</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; result&lt;fast_random_file_handle&gt; ret(<a class="code" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">fast_random_file_handle</a>(bytes, seed));</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; native_handle_type &amp;nativeh = ret.value()._v;</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; LLFIO_LOG_FUNCTION_CALL(&amp;ret);</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; nativeh.behaviour |= <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">native_handle_type::disposition::file</a>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; nativeh.behaviour |= native_handle_type::disposition::seekable | native_handle_type::disposition::readable;</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>)</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; nativeh.behaviour |= native_handle_type::disposition::writable;</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -819,12 +1229,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a3b27d0f83fb72ebaa1e6a2eead9bec3e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3b27d0f83fb72ebaa1e6a2eead9bec3e">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[1/3]</span></h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
<div class="memitem">
<div class="memproto">
@@ -833,28 +1243,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::fast_random_file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -864,37 +1268,26 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </p>
-<ul>
-<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
-<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
-</ul>
-<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to lock. </td></tr>
- <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return, <code>errc::timed_out</code>, <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">// Lock nothing</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> _extent_guard(<span class="keyword">this</span>, offset, bytes, kind);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
-<a id="a3c5c229b11f488d0e9bff74c65737db2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c5c229b11f488d0e9bff74c65737db2">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[2/3]</span></h2>
+<a id="a469019e3bbcd7b37499b8604af713b40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a469019e3bbcd7b37499b8604af713b40">&#9670;&nbsp;</a></span>lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -903,37 +1296,27 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; bytes += i.size();</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>, d);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>Locks the inode referred to by the open handle for exclusive access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="a4055bb02680af02dcc189f0461bad503"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4055bb02680af02dcc189f0461bad503">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[3/3]</span></h2>
+<a id="a6bba3f508224b7412f2fb3c050ca9711"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6bba3f508224b7412f2fb3c050ca9711">&#9670;&nbsp;</a></span>lock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -942,10 +1325,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::fast_random_file_handle::lock_file_range </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype">extent_type&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">extent_type&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -961,18 +1356,42 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; bytes += i.size();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, d);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
+
+<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. </p>
+<p>Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform:</p>
+<ul>
+<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
+<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
+</ul>
+<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to lock. Setting this and the offset to zero causes the whole file to be locked. </td></tr>
+ <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return, errc::timed_out, errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">llfio_v2_xxx::lockable_io_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
+<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="comment">// Lock nothing</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> _extent_guard(<span class="keyword">this</span>, offset, bytes, kind);</div>
+<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
+<a id="aa24a432125e5b51b13f21d9b74fa4721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa24a432125e5b51b13f21d9b74fa4721">&#9670;&nbsp;</a></span>lock_file_shared()</h2>
<div class="memitem">
<div class="memproto">
@@ -981,10 +1400,10 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file_shared </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td></td>
</tr>
</table>
</td>
@@ -994,12 +1413,49 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
+<p>Locks the inode referred to by the open handle for shared access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
-
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
@@ -1027,7 +1483,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
</div>
@@ -1057,82 +1513,124 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a3141a85996e46a3cc6b238d321198e47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::random_file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
</div><!-- fragment -->
</div>
</div>
-<a id="ae84ac3c127d067d44d978e4621d4d2f1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae84ac3c127d067d44d978e4621d4d2f1">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
@@ -1141,9 +1639,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::fast_random_file_handle::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1160,28 +1658,29 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the random file. </p>
-<p>Note that ensuring that the scatter buffers are address and size aligned to 16 byte (128 bit) multiples will give maximum performance.</p>
-<dl class="section return"><dt>Returns</dt><dd>The buffers input, with the size of each scatter-gather buffer updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None possible. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None possible. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
+<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8700edc9ecd4dd35d5aad7c65dd0eca2">&#9670;&nbsp;</a></span>relink()</h2>
<div class="memitem">
<div class="memproto">
@@ -1190,16 +1689,28 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::relink </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1213,24 +1724,27 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-
-<p>Read data from the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
+ <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
</div>
</div>
-<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8700edc9ecd4dd35d5aad7c65dd0eca2">&#9670;&nbsp;</a></span>relink()</h2>
+<a id="aa276caa8542cca700a2574459395ff60"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa276caa8542cca700a2574459395ff60">&#9670;&nbsp;</a></span>reopen()</h2>
<div class="memitem">
<div class="memproto">
@@ -1239,22 +1753,16 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::relink </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::reopen </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1265,29 +1773,19 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td></td>
<td>)</td>
- <td></td><td></td>
+ <td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
- <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
- <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reopen this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
+<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX if changing the mode, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
</div>
</div>
@@ -1317,11 +1815,76 @@ For portability, you can only assume that barriers write order for a single hand
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a428114e3c8628c0621b1aa156051651c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a428114e3c8628c0621b1aa156051651c">&#9670;&nbsp;</a></span>temp_file()</h2>
@@ -1373,13 +1936,13 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a3141a85996e46a3cc6b238d321198e47"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle::random_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:143</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1423,12 +1986,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a2919da8c2520240c4e65f18f68872fd0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2919da8c2520240c4e65f18f68872fd0">&#9670;&nbsp;</a></span>try_lock_range()</h2>
+<a id="a6e6a25ad5d9efd45e69d22e70a754a9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6a25ad5d9efd45e69d22e70a754a9e">&#9670;&nbsp;</a></span>try_lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1437,42 +2000,27 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::try_lock_range </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(offset, bytes, kind, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
+<a id="ad8e3d809cb954d99e228ee756bac1c64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8e3d809cb954d99e228ee756bac1c64">&#9670;&nbsp;</a></span>try_lock_file_shared()</h2>
<div class="memitem">
<div class="memproto">
@@ -1481,10 +2029,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file_shared </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
@@ -1494,22 +2041,15 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
-<a id="a0b20ae88c350702b39f41d8223f0b164"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0b20ae88c350702b39f41d8223f0b164">&#9670;&nbsp;</a></span>unlock_range()</h2>
+<a id="a8b7aa986243527fe224425f61c179709"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b7aa986243527fe224425f61c179709">&#9670;&nbsp;</a></span>uniquely_named_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1518,16 +2058,28 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual void llfio_v2_xxx::fast_random_file_handle::unlock_range </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::uniquely_named_file </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1537,28 +2089,36 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>EXTENSION: Unlocks a byte range previously locked. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// Unlock nothing</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div></div><!-- fragment -->
+<p>Create a file handle creating a uniquely named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="abdbe878fecb166d1eda5ddc4718e101d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abdbe878fecb166d1eda5ddc4718e101d">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>
+<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
<div class="memitem">
<div class="memproto">
@@ -1567,47 +2127,35 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::fast_random_file_handle::write </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>Fails to write to the random file. </p>
-<p>If the handle was not opened with write permissions, this will fail with a code comparing equal to <code>errc::permission_denied</code>. Otherwise the writes have no effect, and the buffers returned have all zero lengths.</p>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written with all buffer lengths zeroed. </dd></dl>
+<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None possible if handle was opened with write permissions. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None possible. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; (void) d;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; OUTCOME_TRY(_perms_check());</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// Return null written</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;buffer : reqs.buffers)</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; buffer = {buffer.data(), 0};</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> std::move(reqs.buffers);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div></div><!-- fragment -->
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
+
</div>
</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>
+<a id="a7830dff75463d4e0bf8d871bdc75055d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7830dff75463d4e0bf8d871bdc75055d">&#9670;&nbsp;</a></span>unlock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -1616,16 +2164,16 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">virtual void llfio_v2_xxx::fast_random_file_handle::unlock_file_range </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype">extent_type&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramtype">extent_type&#160;</td>
+ <td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1635,28 +2183,31 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>EXTENSION: Unlocks a byte range previously locked. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">llfio_v2_xxx::lockable_io_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
+<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// Unlock nothing</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
@@ -1665,16 +2216,10 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;size_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1694,9 +2239,20 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
+
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1705,13 +2261,37 @@ For portability, you can only assume that barriers write order for a single hand
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1fast__random__file__handle_html_a4661a9c1551d33d054ccd80599806ba7"><div class="ttname"><a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle</a></div><div class="ttdeci">fast_random_file_handle()=default</div><div class="ttdoc">Default constructor.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a8b7aa986243527fe224425f61c179709"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle::uniquely_named_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; uniquely_named_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:163</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_ae61e2de30b06776a1c24643a1d1dc64e"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a></div><div class="ttdeci">void random_fill(char *buffer, size_t bytes) noexcept</div><div class="ttdoc">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:418</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdeci">@ append</div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdeci">@ write</div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">fast_random_file_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle.js b/classllfio__v2__xxx_1_1fast__random__file__handle.js
index c531da21..1f426d33 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle.js
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle.js
@@ -1,6 +1,8 @@
var classllfio__v2__xxx_1_1fast__random__file__handle =
[
[ "prng", "structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html", "structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng" ],
+ [ "awaitable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
[ "buffer_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1020835dc0f70fbc8a7b852fa8d5c0b6", null ],
[ "buffers_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa4a682714d5d3487bf2538facf4c02ee", null ],
[ "caching", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae6af00343c705ee86d2ff248a438c3f2", null ],
@@ -16,89 +18,139 @@ var classllfio__v2__xxx_1_1fast__random__file__handle =
[ "mode", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5baa53702ad860fa9c3fb5af28f14fd8", null ],
[ "path_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a22771acd68f6b630d3861c60aaa25a41", null ],
[ "path_view_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac8b7de182379e57f0b40fda48d58822d", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
[ "size_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d4e51504bf58219c598047132b89c75", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
- [ "lock_kind", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63", [
- [ "unknown", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a", null ],
- [ "shared", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e", null ],
- [ "exclusive", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7", null ]
- ] ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7", null ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63", null ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca", null ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247", null ],
[ "~fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7595a3afdef527a8ce6287a9312a7524", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
[ "_fetch_inode", "classllfio__v2__xxx_1_1fast__random__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
[ "_perms_check", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6d7f0bf0df9384635111f23bd63d1792", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a28f78f709ba3d7b26ba38cefa21fd7b8", null ],
- [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
- [ "clone", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
[ "clone", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce", null ],
[ "close", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
[ "current_path", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
- [ "extents", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0", null ],
+ [ "extents", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96", null ],
[ "flags", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4055bb02680af02dcc189f0461bad503", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
+ [ "link", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
+ [ "lock_file", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a469019e3bbcd7b37499b8604af713b40", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a9582b139a2b92ff13708a4de547c5605", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d", null ],
+ [ "lock_file_shared", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa24a432125e5b51b13f21d9b74fa4721", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
[ "maximum_extent", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
[ "native_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5", null ],
[ "operator=", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1", null ],
- [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
- [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
+ [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
[ "release", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa276caa8542cca700a2574459395ff60", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
- [ "service", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae7735588338065ede0ab9b7f979bc65a", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
[ "st_dev", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
- [ "swap", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808", null ],
[ "swap", "classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9", null ],
+ [ "swap", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808", null ],
[ "swap", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4716696b8700953889006251e0678aa4", null ],
[ "truncate", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2", null ],
- [ "try_lock_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a2919da8c2520240c4e65f18f68872fd0", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_lock_file", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e", null ],
+ [ "try_lock_file_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a393d056936c3f262aff76ed406858a95", null ],
+ [ "try_lock_file_range_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002", null ],
+ [ "try_lock_file_range_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7727a23852d90bd5ea4e47044d20cfee", null ],
+ [ "try_lock_file_shared", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad8e3d809cb954d99e228ee756bac1c64", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_reopen", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa8040aa44a0482224dbf5e9fc3131b19", null ],
+ [ "try_reopen_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d89a5de0941ba6d1193a5b87cde28af", null ],
+ [ "try_reopen_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#af620e483e3963be3b09794da4040db12", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "try_zero", "classllfio__v2__xxx_1_1fast__random__file__handle.html#afab4b38fba3730a36ba0b2f849dc6777", null ],
+ [ "try_zero_for", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aab4e4f580aee606c0796c6352f1f327a", null ],
+ [ "try_zero_until", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a9e64021bc1f570d8c0c8b9c413981289", null ],
[ "unique_id", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
- [ "unlock_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164", null ],
- [ "write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d", null ],
- [ "write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
+ [ "unlock_file", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a561ef83b4fe400b59c9d92444913c180", null ],
+ [ "unlock_file_range", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d", null ],
+ [ "unlock_file_shared", "classllfio__v2__xxx_1_1fast__random__file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703", null ],
[ "write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "zero", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504", null ],
- [ "_caching", "classllfio__v2__xxx_1_1fast__random__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
+ [ "write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "zero", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a800b4d046b9648a9a4a69a7797548ee4", null ],
+ [ "zero", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
[ "_devid", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_flags", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_inode", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
[ "_length", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae5040ad73419130910156162006f37c1", null ],
- [ "_prng", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a81a7ae5e213b40fdece1f76430eea161", null ],
- [ "_service", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa2c2b2847fd039b9c255633e6031817a", null ],
+ [ "_prng", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aed4fd04da0a564159d6ccdcd724d0d7a", null ],
[ "_v", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle.png b/classllfio__v2__xxx_1_1fast__random__file__handle.png
index 927ae686..b73a4aa2 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle.png
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1file__handle-members.html b/classllfio__v2__xxx_1_1file__handle-members.html
index 86cd3833..b543e00b 100644
--- a/classllfio__v2__xxx_1_1file__handle-members.html
+++ b/classllfio__v2__xxx_1_1file__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,38 +89,60 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a>(extent_pair extent, io_handle &amp;dest, io_handle::extent_type destoffset, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a>(io_handle &amp;dest, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2">file_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e">file_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42">file_handle</a>(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd">file_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
@@ -131,74 +155,129 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_file_range</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_file_range</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">llfio_v2_xxx::lockable_io_handle::operator=</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">llfio_v2_xxx::lockable_io_handle::operator=</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">reopen</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::lockable_io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_zero</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_zero_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_zero_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">zero</a>(extent_pair extent, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~lockable_io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -206,7 +285,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1file__handle.html b/classllfio__v2__xxx_1_1file__handle.html
index e1c25c28..28b54c17 100644
--- a/classllfio__v2__xxx_1_1file__handle.html
+++ b/classllfio__v2__xxx_1_1file__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::file_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,14 +88,15 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1file__handle-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::file_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+<div class="title">llfio_v2_xxx::file_handle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
-<p>A handle to a regular file or device, kept data layout compatible with async_file_handle.
+<p>A handle to a regular file or device.
<a href="classllfio__v2__xxx_1_1file__handle.html#details">More...</a></p>
<p><code>#include &quot;file_handle.hpp&quot;</code></p>
@@ -103,29 +106,23 @@ Inheritance diagram for llfio_v2_xxx::file_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1file__handle.png" usemap="#llfio_5Fv2_5Fxxx::file_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::file_5Fhandle_map" name="llfio_5Fv2_5Fxxx::file_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="116,56,338,80"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="348,56,570,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="116,0,338,24"/>
-<area href="classllfio__v2__xxx_1_1async__file__handle.html" title="An asynchronous handle to an open something. " alt="llfio_v2_xxx::async_file_handle" shape="rect" coords="0,168,222,192"/>
-<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data. " alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="232,168,454,192"/>
-<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device. " alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="464,168,686,192"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="0,112,222,136"/>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="232,112,454,136"/>
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,222,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,222,24"/>
+<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data." alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="0,224,222,248"/>
+<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device." alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="232,224,454,248"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: RAII holder a locked extent of bytes in a file. <a href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pair of valid extents. <a href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:aa25e3ab298152166fc387d8fcfb19a63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> { <b>unknown</b>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>
- }<tr class="memdesc:aa25e3ab298152166fc387d8fcfb19a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:aa25e3ab298152166fc387d8fcfb19a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68412ff0d490ac8d545ec2766d2da677"><td class="memItemLeft" align="right" valign="top"><a id="a68412ff0d490ac8d545ec2766d2da677"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = io_handle::path_type</td></tr>
<tr class="separator:a68412ff0d490ac8d545ec2766d2da677"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -148,24 +145,24 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
<tr class="separator:acbcde75e9429b8271adbca234e63d522"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e478777fb31b49b95bcddbee612a13b"><td class="memItemLeft" align="right" valign="top"><a id="a1e478777fb31b49b95bcddbee612a13b"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
<tr class="separator:a1e478777fb31b49b95bcddbee612a13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae68f0cbc7793647a8ae07d72929e8fd6"><td class="memItemLeft" align="right" valign="top"><a id="ae68f0cbc7793647a8ae07d72929e8fd6"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
<tr class="separator:ae68f0cbc7793647a8ae07d72929e8fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a50713d6a6aec1ecacc0cdf12d61298"><td class="memItemLeft" align="right" valign="top"><a id="a4a50713d6a6aec1ecacc0cdf12d61298"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
<tr class="separator:a4a50713d6a6aec1ecacc0cdf12d61298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4f016382816f3ad07838fece06bd25"><td class="memItemLeft" align="right" valign="top"><a id="adf4f016382816f3ad07838fece06bd25"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
<tr class="separator:adf4f016382816f3ad07838fece06bd25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bec420bc6d39c811d1fe32d97a6dcb0"><td class="memTemplParams" colspan="2"><a id="a2bec420bc6d39c811d1fe32d97a6dcb0"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a2bec420bc6d39c811d1fe32d97a6dcb0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a2bec420bc6d39c811d1fe32d97a6dcb0"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
<tr class="separator:a2bec420bc6d39c811d1fe32d97a6dcb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5d6eb50ef495e0ca7a8dca48a787878"><td class="memTemplParams" colspan="2"><a id="ac5d6eb50ef495e0ca7a8dca48a787878"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:ac5d6eb50ef495e0ca7a8dca48a787878"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:ac5d6eb50ef495e0ca7a8dca48a787878"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:ac5d6eb50ef495e0ca7a8dca48a787878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a138431a6267d39120b71257af252ddd0"><td class="memItemLeft" align="right" valign="top"><a id="a138431a6267d39120b71257af252ddd0"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>dev_t</b> = fs_handle::dev_t</td></tr>
@@ -176,17 +173,24 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>ino_t</b> = fs_handl
<tr class="memitem:a987fcc0fc8a6874cb8275ad0efb1a576"><td class="memItemLeft" align="right" valign="top"><a id="a987fcc0fc8a6874cb8275ad0efb1a576"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_type</b> = <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">fs_handle::path_view_type</a></td></tr>
<tr class="separator:a987fcc0fc8a6874cb8275ad0efb1a576"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -194,10 +198,14 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a> ()</td></tr>
<tr class="memdesc:a8f754fdbf69fbb9b989c5aab409f2cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a8f754fdbf69fbb9b989c5aab409f2cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a664770d5a3dc9db34d177622cb494779"><td class="memItemLeft" align="right" valign="top"><a id="a664770d5a3dc9db34d177622cb494779"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
-<tr class="memdesc:a664770d5a3dc9db34d177622cb494779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
-<tr class="separator:a664770d5a3dc9db34d177622cb494779"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a543ed77b286d9838f4e8ac0263089da1"><td class="memItemLeft" align="right" valign="top"><a id="a543ed77b286d9838f4e8ac0263089da1"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1">file_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:a543ed77b286d9838f4e8ac0263089da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a543ed77b286d9838f4e8ac0263089da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52c20d224c94e42ecb290fe9ad3bd5a2"><td class="memItemLeft" align="right" valign="top"><a id="a52c20d224c94e42ecb290fe9ad3bd5a2"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2">file_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:a52c20d224c94e42ecb290fe9ad3bd5a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a52c20d224c94e42ecb290fe9ad3bd5a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb49b1828d6a0cf4a7ea6668c38ca42"><td class="memItemLeft" align="right" valign="top"><a id="a9cb49b1828d6a0cf4a7ea6668c38ca42"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;)=delete</td></tr>
<tr class="memdesc:a9cb49b1828d6a0cf4a7ea6668c38ca42"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use clone()) <br /></td></tr>
@@ -210,10 +218,22 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:a72f5dad56f8bb4544d36637892f74ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of file_handle permitted. <br /></td></tr>
<tr class="separator:a72f5dad56f8bb4544d36637892f74ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5eca081e5b1eb5c00ad46136911bb7f4"><td class="memItemLeft" align="right" valign="top"><a id="a5eca081e5b1eb5c00ad46136911bb7f4"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td></tr>
-<tr class="memdesc:a5eca081e5b1eb5c00ad46136911bb7f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle and io_handle permitted. <br /></td></tr>
-<tr class="separator:a5eca081e5b1eb5c00ad46136911bb7f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd1ae18344268c59c0fad54fecdf8746"><td class="memItemLeft" align="right" valign="top"><a id="afd1ae18344268c59c0fad54fecdf8746"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:afd1ae18344268c59c0fad54fecdf8746"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:afd1ae18344268c59c0fad54fecdf8746"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac37c3543feb868914199515ddd9d445e"><td class="memItemLeft" align="right" valign="top"><a id="ac37c3543feb868914199515ddd9d445e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:ac37c3543feb868914199515ddd9d445e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:ac37c3543feb868914199515ddd9d445e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01c1f1c49426ec9193a83e3e4488ad42"><td class="memItemLeft" align="right" valign="top"><a id="a01c1f1c49426ec9193a83e3e4488ad42"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td></tr>
+<tr class="memdesc:a01c1f1c49426ec9193a83e3e4488ad42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from io_handle permitted. <br /></td></tr>
+<tr class="separator:a01c1f1c49426ec9193a83e3e4488ad42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98c4d089c8d05f1a1ae934a8afbaa8fd"><td class="memItemLeft" align="right" valign="top"><a id="a98c4d089c8d05f1a1ae934a8afbaa8fd"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd">file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a98c4d089c8d05f1a1ae934a8afbaa8fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from io_handle permitted. <br /></td></tr>
+<tr class="separator:a98c4d089c8d05f1a1ae934a8afbaa8fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcfaf6aee5ab7a92e7c5bb5aed0fff9a"><td class="memItemLeft" align="right" valign="top"><a id="abcfaf6aee5ab7a92e7c5bb5aed0fff9a"></a>
<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:abcfaf6aee5ab7a92e7c5bb5aed0fff9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment of file_handle permitted. <br /></td></tr>
@@ -226,57 +246,187 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a> () noexcept override</td></tr>
<tr class="memdesc:a665ddf5aa47e1d8a94580570a0457c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a665ddf5aa47e1d8a94580570a0457c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb03b26fe4085d50ea650f6d6a6aee2a"><td class="memItemLeft" align="right" valign="top"><a id="adb03b26fe4085d50ea650f6d6a6aee2a"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:adb03b26fe4085d50ea650f6d6a6aee2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr>
-<tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr>
-<tr class="separator:ae7735588338065ede0ab9b7f979bc65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e46c6ea379152eb559ab15990f7c467"><td class="memItemLeft" align="right" valign="top"><a id="a6e46c6ea379152eb559ab15990f7c467"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a6e46c6ea379152eb559ab15990f7c467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience initialiser list based overload for <code>read()</code> <br /></td></tr>
-<tr class="separator:a6e46c6ea379152eb559ab15990f7c467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a9910116cc5751398e6b55f06a9a793"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5a9910116cc5751398e6b55f06a9a793"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a5a9910116cc5751398e6b55f06a9a793">More...</a><br /></td></tr>
-<tr class="separator:a5a9910116cc5751398e6b55f06a9a793"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2919da8c2520240c4e65f18f68872fd0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind) noexcept</td></tr>
-<tr class="separator:a2919da8c2520240c4e65f18f68872fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c5c229b11f488d0e9bff74c65737db2"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a3c5c229b11f488d0e9bff74c65737db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4055bb02680af02dcc189f0461bad503"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a4055bb02680af02dcc189f0461bad503"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
-<tr class="memdesc:a0cd024de36cc7cb63d9189f45a9944e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="#a0cd024de36cc7cb63d9189f45a9944e9">More...</a><br /></td></tr>
-<tr class="separator:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa276caa8542cca700a2574459395ff60"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">reopen</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:aa276caa8542cca700a2574459395ff60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memTemplParams" colspan="2"><a id="aa8040aa44a0482224dbf5e9fc3131b19"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aa8040aa44a0482224dbf5e9fc3131b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memTemplParams" colspan="2"><a id="a5d89a5de0941ba6d1193a5b87cde28af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a5d89a5de0941ba6d1193a5b87cde28af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af620e483e3963be3b09794da4040db12"><td class="memTemplParams" colspan="2"><a id="af620e483e3963be3b09794da4040db12"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:af620e483e3963be3b09794da4040db12"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:af620e483e3963be3b09794da4040db12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7991af58283025b80a7225866643f0b4"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a> () const noexcept</td></tr>
<tr class="separator:a7991af58283025b80a7225866643f0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be41c54aff8578e2d0afbf4ae73049f"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a> (extent_type newsize) noexcept</td></tr>
<tr class="separator:a2be41c54aff8578e2d0afbf4ae73049f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; std::vector&lt; std::pair&lt; extent_type, extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a> () const noexcept</td></tr>
-<tr class="memdesc:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">More...</a><br /></td></tr>
-<tr class="separator:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a50caa94c51aae1f23e7708d3c6a21364"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a50caa94c51aae1f23e7708d3c6a21364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="#a50caa94c51aae1f23e7708d3c6a21364">More...</a><br /></td></tr>
-<tr class="separator:a50caa94c51aae1f23e7708d3c6a21364"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:a6e30345e9aa4fa263b009efe2c97466a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; std::vector&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">extents</a> () const noexcept</td></tr>
+<tr class="memdesc:a6e30345e9aa4fa263b009efe2c97466a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <a href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">More...</a><br /></td></tr>
+<tr class="separator:a6e30345e9aa4fa263b009efe2c97466a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> extent, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, io_handle::extent_type destoffset, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. <a href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">More...</a><br /></td></tr>
+<tr class="separator:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memItemLeft" align="right" valign="top"><a id="a4c7af63bc67f6eacd7097e4cae3f85ce"></a>
+result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a299dd43c5d218b0253e0ce9760c955ab"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">zero</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> extent, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a299dd43c5d218b0253e0ce9760c955ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">More...</a><br /></td></tr>
+<tr class="separator:a299dd43c5d218b0253e0ce9760c955ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a800b4d046b9648a9a4a69a7797548ee4"><td class="memItemLeft" align="right" valign="top"><a id="a800b4d046b9648a9a4a69a7797548ee4"></a>
+result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a800b4d046b9648a9a4a69a7797548ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a800b4d046b9648a9a4a69a7797548ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplParams" colspan="2"><a id="afab4b38fba3730a36ba0b2f849dc6777"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:afab4b38fba3730a36ba0b2f849dc6777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplParams" colspan="2"><a id="aab4e4f580aee606c0796c6352f1f327a"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:aab4e4f580aee606c0796c6352f1f327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplParams" colspan="2"><a id="a9e64021bc1f570d8c0c8b9c413981289"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a9e64021bc1f570d8c0c8b9c413981289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a469019e3bbcd7b37499b8604af713b40"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a469019e3bbcd7b37499b8604af713b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for exclusive access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">More...</a><br /></td></tr>
+<tr class="separator:a469019e3bbcd7b37499b8604af713b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">More...</a><br /></td></tr>
+<tr class="separator:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a561ef83b4fe400b59c9d92444913c180"><td class="memItemLeft" align="right" valign="top"><a id="a561ef83b4fe400b59c9d92444913c180"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a561ef83b4fe400b59c9d92444913c180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired exclusive lock. <br /></td></tr>
+<tr class="separator:a561ef83b4fe400b59c9d92444913c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa24a432125e5b51b13f21d9b74fa4721"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa24a432125e5b51b13f21d9b74fa4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for shared access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">More...</a><br /></td></tr>
+<tr class="separator:aa24a432125e5b51b13f21d9b74fa4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8e3d809cb954d99e228ee756bac1c64"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:ad8e3d809cb954d99e228ee756bac1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">More...</a><br /></td></tr>
+<tr class="separator:ad8e3d809cb954d99e228ee756bac1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memItemLeft" align="right" valign="top"><a id="afc5ba16c0377a56b7e1a66a9c6d0a703"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired shared lock. <br /></td></tr>
+<tr class="separator:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a> (extent_type offset, extent_type bytes, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">More...</a><br /></td></tr>
+<tr class="separator:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9582b139a2b92ff13708a4de547c5605"><td class="memItemLeft" align="right" valign="top"><a id="a9582b139a2b92ff13708a4de547c5605"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a9582b139a2b92ff13708a4de547c5605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memItemLeft" align="right" valign="top"><a id="aa87c3e22aa12084cb48fb29c5b10c78d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplParams" colspan="2"><a id="a393d056936c3f262aff76ed406858a95"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a393d056936c3f262aff76ed406858a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplParams" colspan="2"><a id="ae3b16c444914200a7e5ab3cd0ba2d002"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplParams" colspan="2"><a id="a7727a23852d90bd5ea4e47044d20cfee"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a7727a23852d90bd5ea4e47044d20cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
+<tr class="memdesc:a5572735777dfdd3f7c5c1f6dc8260287"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">More...</a><br /></td></tr>
+<tr class="separator:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -310,12 +460,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -336,6 +490,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -348,6 +510,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -386,17 +552,67 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a09e6b3e9806b328a687a55e955b885a3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a09e6b3e9806b328a687a55e955b885a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3141a85996e46a3cc6b238d321198e47"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a3141a85996e46a3cc6b238d321198e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b7aa986243527fe224425f61c179709"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:a8b7aa986243527fe224425f61c179709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428114e3c8628c0621b1aa156051651c"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a428114e3c8628c0621b1aa156051651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eff21e1833be0c21f72477c593fadc5"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
@@ -404,25 +620,65 @@ Static Public Member Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memItemLeft" align="right" valign="top"><a id="ae5ec845b3e2c2e31c2dc3de1d276a7e3"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4379e3f84b913f606bb2ec6a194d4380"><td class="memItemLeft" align="right" valign="top"><a id="a4379e3f84b913f606bb2ec6a194d4380"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a4379e3f84b913f606bb2ec6a194d4380"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a4379e3f84b913f606bb2ec6a194d4380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memItemLeft" align="right" valign="top"><a id="a2102f73a4872e8fd8bbe1c71ef82c97f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memItemLeft" align="right" valign="top"><a id="a0f1d67fa1ad7f0d0b1256b6138929d60"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc2b24484565bcb0cf654adf2f732f7e"><td class="memItemLeft" align="right" valign="top"><a id="adc2b24484565bcb0cf654adf2f732f7e"></a>
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a> () const noexcept</td></tr>
<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:aa2c2b2847fd039b9c255633e6031817a"><td class="memItemLeft" align="right" valign="top"><a id="aa2c2b2847fd039b9c255633e6031817a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
-<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -431,20 +687,18 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr class="separator:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A handle to a regular file or device, kept data layout compatible with async_file_handle. </p>
+<div class="textblock"><p>A handle to a regular file or device. </p>
<table class="doxtable">
<tr>
<th></th><th>Cost of opening</th><th>Cost of i/o</th><th>Concurrency and Atomicity</th><th>Other remarks </th></tr>
<tr>
<td><code>file_handle</code></td><td>Least</td><td>Syscall</td><td>POSIX guarantees (usually)</td><td>Least gotcha </td></tr>
<tr>
-<td><code>async_file_handle</code></td><td>More</td><td>Most (syscall + malloc/free + reactor)</td><td>POSIX guarantees (usually)</td><td>Makes no sense to use with cached i/o as it's a very expensive way to call <code>memcpy()</code> </td></tr>
-<tr>
<td><code>mapped_file_handle</code></td><td>Most</td><td>Least</td><td>None</td><td>Cannot be used with uncached i/o </td></tr>
</table>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
<div class="memitem">
<div class="memproto">
@@ -453,32 +707,42 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aa25e3ab298152166fc387d8fcfb19a63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa25e3ab298152166fc387d8fcfb19a63">&#9670;&nbsp;</a></span>lock_kind</h2>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -487,29 +751,88 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle::lock_kind</a></td>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of concurrent user exclusion which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"></a>shared&#160;</td><td class="fielddoc"><p>Exclude only those requesting an exclusive lock on the same inode. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"></a>exclusive&#160;</td><td class="fielddoc"><p>Exclude those requesting any kind of lock on the same inode. </p>
-</td></tr>
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
</table>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; unknown,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; shared, <span class="comment">//!&lt; Exclude only those requesting an exclusive lock on the same inode.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> exclusive <span class="comment">//!&lt; Exclude those requesting any kind of lock on the same inode.</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
</div>
</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a2aea4109a6ac4323b8cb4ea435ec9c94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2aea4109a6ac4323b8cb4ea435ec9c94">&#9670;&nbsp;</a></span>clone_extents_to()</h2>
<div class="memitem">
<div class="memproto">
@@ -518,22 +841,40 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td class="memname">virtual result&lt;<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&gt; llfio_v2_xxx::file_handle::clone_extents_to </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&#160;</td>
+ <td class="paramname"><em>extent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ <td class="paramtype">io_handle::extent_type&#160;</td>
+ <td class="paramname"><em>destoffset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>{}</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_copy_now</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>emulate_if_unsupported</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -543,33 +884,24 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<p>Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. </p>
+<p>Some of the filesystems on the major operating systems implement copy-on-write extent reference counting, and thus can very cheaply link a "copy" of extents in one file into another file (at the time of writing - Linux: XFS, btrfs, ocfs2, smbfs; Mac OS: APFS; Windows: ReFS, CIFS). Upon first write into an extent, only then is a new copy formed for the specific extents being modified. Note that extent cloning is usually only possible in cluster sized amounts, so if the portion you clone is not so aligned, new extents will be allocated for the spill into non-aligned portions. Obviously, cloning an entire file in a single shot does not have that problem.</p>
+<p>Networked filing systems typically can also implement remote extent copying, such that extents can be copied between files entirely upon the remote server, and avoiding the copy going over the network. This is usually far more efficient.</p>
+<p>This implementation first enumerates the valid extents for the region requested, and only clones extents which are reported as valid. It then iterates the platform specific syscall to cause the extents to be cloned in <code>utils::page_allocator&lt;T&gt;</code> sized chunks (i.e. the next large page greater or equal to 1Mb). Generally speaking, if the dedicated syscalls fail, the implementation falls back to a user space emulation, unless <code>emulate_if_unsupported</code> is false.</p>
+<p>If the region being cloned does not exist in the source file, the region is truncated to what is available. If the destination file is not big enough to receive the cloned region, it is extended. If the clone is occurring within the same inode, you should ensure that the regions do not overlap, as cloning regions which overlap has platform-specific semantics. If they do overlap, you should always set <code>force_copy_now</code> for portable code.</p>
+<dl class="section note"><dt>Note</dt><dd>The current implementation does not permit overlapping clones within the same inode to differ by less than <code>utils::page_allocator&lt;T&gt;</code> sized chunks. It will fail with an error code comparing equal to <code>errc::invalid_parameter</code>.</dd></dl>
+<p>If you really want the copy to happen now, and not later via copy-on-write, set <code>force_copy_now</code>. Note that this forces <code>emulate_if_unsupported</code> to true.</p>
+<p>If <code>dest</code> is not a <code>file_handle</code>, <code>sendfile()</code> is used and the destination offset and gaps in the source valid extents are ignored. </p>
</div>
</div>
-<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -578,44 +910,52 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
-<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
<div class="memitem">
<div class="memproto">
@@ -624,10 +964,21 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -636,9 +987,67 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -666,16 +1075,17 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
-<a id="a1c2c1c27b1be6414415b3fc3fcda88b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">&#9670;&nbsp;</a></span>extents()</h2>
+<a id="a6e30345e9aa4fa263b009efe2c97466a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e30345e9aa4fa263b009efe2c97466a">&#9670;&nbsp;</a></span>extents()</h2>
<div class="memitem">
<div class="memproto">
@@ -684,7 +1094,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;std::vector&lt;std::pair&lt;extent_type, extent_type&gt; &gt; &gt; llfio_v2_xxx::file_handle::extents </td>
+ <td class="memname">virtual result&lt;std::vector&lt;<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&gt; &gt; llfio_v2_xxx::file_handle::extents </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -700,7 +1110,7 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns a list of currently valid extents for this open file. WARNING: racy! </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of pairs of extent offset + extent length representing the valid extents in this file. Filing systems which do not support extents return a single extent matching the length of the file rather than returning an error. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">llfio_v2_xxx::fast_random_file_handle</a>.</p>
</div>
</div>
@@ -772,12 +1182,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a5a9910116cc5751398e6b55f06a9a793"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a9910116cc5751398e6b55f06a9a793">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[1/3]</span></h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
<div class="memitem">
<div class="memproto">
@@ -786,28 +1196,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -817,37 +1221,55 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </p>
-<ul>
-<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
-<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
-</ul>
-<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to lock. </td></tr>
- <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return, <code>errc::timed_out</code>, <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+</div>
+</div>
+<a id="a469019e3bbcd7b37499b8604af713b40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a469019e3bbcd7b37499b8604af713b40">&#9670;&nbsp;</a></span>lock_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+<p>Locks the inode referred to by the open handle for exclusive access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
-<a id="a3c5c229b11f488d0e9bff74c65737db2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c5c229b11f488d0e9bff74c65737db2">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[2/3]</span></h2>
+<a id="a0ece4f0a48e1e67debc438a9742a1f4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ece4f0a48e1e67debc438a9742a1f4c">&#9670;&nbsp;</a></span>lock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -856,10 +1278,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::lockable_io_handle::lock_file_range </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -875,18 +1309,38 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; bytes += i.size();</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>, d);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. </p>
+<p>Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform:</p>
+<ul>
+<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
+<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
+</ul>
+<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to lock. Setting this and the offset to zero causes the whole file to be locked. </td></tr>
+ <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return, errc::timed_out, errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
</div>
</div>
-<a id="a4055bb02680af02dcc189f0461bad503"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4055bb02680af02dcc189f0461bad503">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[3/3]</span></h2>
+<a id="aa24a432125e5b51b13f21d9b74fa4721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa24a432125e5b51b13f21d9b74fa4721">&#9670;&nbsp;</a></span>lock_file_shared()</h2>
<div class="memitem">
<div class="memproto">
@@ -895,37 +1349,27 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file_shared </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; bytes += i.size();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, d);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>Locks the inode referred to by the open handle for shared access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
<div class="memitem">
<div class="memproto">
@@ -934,7 +1378,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -942,17 +1386,25 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
-
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a7991af58283025b80a7225866643f0b4"></a>
@@ -978,7 +1430,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Return the current maximum permitted extent of the file.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return.</dt><dd></dd></dl>
<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398">llfio_v2_xxx::fast_random_file_handle</a>.</p>
@@ -1009,7 +1461,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
</div>
@@ -1039,82 +1491,124 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a3141a85996e46a3cc6b238d321198e47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::random_file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read()</h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
@@ -1123,9 +1617,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1142,12 +1636,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the open handle. </p>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
@@ -1157,9 +1651,10 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
@@ -1207,7 +1702,9 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -1218,9 +1715,55 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+
+</div>
+</div>
+<a id="aa276caa8542cca700a2574459395ff60"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa276caa8542cca700a2574459395ff60">&#9670;&nbsp;</a></span>reopen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::reopen </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Reopen this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
+<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX if changing the mode, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
</div>
</div>
@@ -1250,11 +1793,76 @@ For portability, you can only assume that barriers write order for a single hand
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a428114e3c8628c0621b1aa156051651c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a428114e3c8628c0621b1aa156051651c">&#9670;&nbsp;</a></span>temp_file()</h2>
@@ -1306,13 +1914,13 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a3141a85996e46a3cc6b238d321198e47"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle::random_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:143</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1356,7 +1964,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -1391,14 +1999,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return.</dt><dd></dd></dl>
<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">llfio_v2_xxx::fast_random_file_handle</a>.</p>
</div>
</div>
-<a id="a2919da8c2520240c4e65f18f68872fd0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2919da8c2520240c4e65f18f68872fd0">&#9670;&nbsp;</a></span>try_lock_range()</h2>
+<a id="a6e6a25ad5d9efd45e69d22e70a754a9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6a25ad5d9efd45e69d22e70a754a9e">&#9670;&nbsp;</a></span>try_lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1407,22 +2015,86 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::try_lock_range </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="ad8e3d809cb954d99e228ee756bac1c64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8e3d809cb954d99e228ee756bac1c64">&#9670;&nbsp;</a></span>try_lock_file_shared()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file_shared </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a8b7aa986243527fe224425f61c179709"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b7aa986243527fe224425f61c179709">&#9670;&nbsp;</a></span>uniquely_named_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::uniquely_named_file </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1432,12 +2104,31 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(offset, bytes, kind, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
+<p>Create a file handle creating a uniquely named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1472,14 +2163,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
</div>
</div>
-<a id="a0cd024de36cc7cb63d9189f45a9944e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0cd024de36cc7cb63d9189f45a9944e9">&#9670;&nbsp;</a></span>unlock_range()</h2>
+<a id="a5572735777dfdd3f7c5c1f6dc8260287"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5572735777dfdd3f7c5c1f6dc8260287">&#9670;&nbsp;</a></span>unlock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -1488,15 +2179,15 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual void llfio_v2_xxx::file_handle::unlock_range </td>
+ <td class="memname">virtual void llfio_v2_xxx::lockable_io_handle::unlock_file_range </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">extent_type&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
<td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
@@ -1507,7 +2198,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -1520,15 +2211,15 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>.</p>
</div>
</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[1/2]</span></h2>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
@@ -1537,9 +2228,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1556,12 +2247,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Write data to the open handle. </p>
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
@@ -1571,58 +2262,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
-</div>
-</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;size_type&gt; llfio_v2_xxx::io_handle::write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a50caa94c51aae1f23e7708d3c6a21364"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50caa94c51aae1f23e7708d3c6a21364">&#9670;&nbsp;</a></span>zero()</h2>
+<a id="a299dd43c5d218b0253e0ce9760c955ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a299dd43c5d218b0253e0ce9760c955ab">&#9670;&nbsp;</a></span>zero()</h2>
<div class="memitem">
<div class="memproto">
@@ -1633,14 +2280,8 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::file_handle::zero </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&#160;</td>
+ <td class="paramname"><em>extent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1666,16 +2307,15 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="section return"><dt>Returns</dt><dd>The bytes zeroed. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">offset</td><td>The offset to start zeroing from. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to zero. </td></tr>
+ <tr><td class="paramname">extent</td><td>The offset to start zeroing from and the number of bytes to zero. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled.</dt><dd><code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd">llfio_v2_xxx::fast_random_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">llfio_v2_xxx::mapped_file_handle</a>.</p>
</div>
</div>
@@ -1684,13 +2324,32 @@ For portability, you can only assume that barriers write order for a single hand
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a8b7aa986243527fe224425f61c179709"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle::uniquely_named_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; uniquely_named_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:163</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1file__handle.js b/classllfio__v2__xxx_1_1file__handle.js
index 43661b8a..aeac8f43 100644
--- a/classllfio__v2__xxx_1_1file__handle.js
+++ b/classllfio__v2__xxx_1_1file__handle.js
@@ -1,6 +1,8 @@
var classllfio__v2__xxx_1_1file__handle =
[
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard" ],
+ [ "extent_pair", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair" ],
+ [ "awaitable", "classllfio__v2__xxx_1_1file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
[ "buffer_type", "classllfio__v2__xxx_1_1file__handle.html#a1e478777fb31b49b95bcddbee612a13b", null ],
[ "buffers_type", "classllfio__v2__xxx_1_1file__handle.html#a4a50713d6a6aec1ecacc0cdf12d61298", null ],
[ "caching", "classllfio__v2__xxx_1_1file__handle.html#a7afcacdae9224a8587b8163eb3f5db8b", null ],
@@ -16,84 +18,140 @@ var classllfio__v2__xxx_1_1file__handle =
[ "mode", "classllfio__v2__xxx_1_1file__handle.html#a1dbd617575d8cf99a864988e9202a915", null ],
[ "path_type", "classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677", null ],
[ "path_view_type", "classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1file__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
[ "size_type", "classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
- [ "lock_kind", "classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63", [
- [ "unknown", "classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a", null ],
- [ "shared", "classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e", null ],
- [ "exclusive", "classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7", null ]
- ] ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1file__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2", null ],
- [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2", null ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42", null ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7", null ],
- [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42", null ],
+ [ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd", null ],
[ "~file_handle", "classllfio__v2__xxx_1_1file__handle.html#a00b1419055e695ebe77e71ab9088d6d1", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1file__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1file__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1file__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1file__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1file__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1file__handle.html#a4379e3f84b913f606bb2ec6a194d4380", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1file__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1file__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
[ "_fetch_inode", "classllfio__v2__xxx_1_1file__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#adb03b26fe4085d50ea650f6d6a6aee2a", null ],
- [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
- [ "clone", "classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
[ "clone", "classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce", null ],
[ "close", "classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1file__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1file__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1file__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1file__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
[ "current_path", "classllfio__v2__xxx_1_1file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
- [ "extents", "classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2", null ],
+ [ "extents", "classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a", null ],
[ "flags", "classllfio__v2__xxx_1_1file__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1file__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1file__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1file__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1file__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1file__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1file__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1file__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1file__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1file__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1file__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1file__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1file__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
+ [ "link", "classllfio__v2__xxx_1_1file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
+ [ "lock_file", "classllfio__v2__xxx_1_1file__handle.html#a469019e3bbcd7b37499b8604af713b40", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1file__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1file__handle.html#a9582b139a2b92ff13708a4de547c5605", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d", null ],
+ [ "lock_file_shared", "classllfio__v2__xxx_1_1file__handle.html#aa24a432125e5b51b13f21d9b74fa4721", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
[ "maximum_extent", "classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1file__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
[ "native_handle", "classllfio__v2__xxx_1_1file__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "operator=", "classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6", null ],
[ "operator=", "classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
- [ "read", "classllfio__v2__xxx_1_1file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
+ [ "read", "classllfio__v2__xxx_1_1file__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1file__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1file__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
[ "release", "classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1file__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
- [ "service", "classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1file__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
[ "st_dev", "classllfio__v2__xxx_1_1file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
[ "swap", "classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808", null ],
[ "swap", "classllfio__v2__xxx_1_1file__handle.html#a4716696b8700953889006251e0678aa4", null ],
[ "truncate", "classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f", null ],
- [ "try_lock_range", "classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1file__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1file__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1file__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1file__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1file__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_lock_file", "classllfio__v2__xxx_1_1file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e", null ],
+ [ "try_lock_file_range", "classllfio__v2__xxx_1_1file__handle.html#a393d056936c3f262aff76ed406858a95", null ],
+ [ "try_lock_file_range_for", "classllfio__v2__xxx_1_1file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002", null ],
+ [ "try_lock_file_range_until", "classllfio__v2__xxx_1_1file__handle.html#a7727a23852d90bd5ea4e47044d20cfee", null ],
+ [ "try_lock_file_shared", "classllfio__v2__xxx_1_1file__handle.html#ad8e3d809cb954d99e228ee756bac1c64", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1file__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1file__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1file__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1file__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1file__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1file__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_reopen", "classllfio__v2__xxx_1_1file__handle.html#aa8040aa44a0482224dbf5e9fc3131b19", null ],
+ [ "try_reopen_for", "classllfio__v2__xxx_1_1file__handle.html#a5d89a5de0941ba6d1193a5b87cde28af", null ],
+ [ "try_reopen_until", "classllfio__v2__xxx_1_1file__handle.html#af620e483e3963be3b09794da4040db12", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1file__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1file__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1file__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1file__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "try_zero", "classllfio__v2__xxx_1_1file__handle.html#afab4b38fba3730a36ba0b2f849dc6777", null ],
+ [ "try_zero_for", "classllfio__v2__xxx_1_1file__handle.html#aab4e4f580aee606c0796c6352f1f327a", null ],
+ [ "try_zero_until", "classllfio__v2__xxx_1_1file__handle.html#a9e64021bc1f570d8c0c8b9c413981289", null ],
[ "unique_id", "classllfio__v2__xxx_1_1file__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1file__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
- [ "unlock_range", "classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9", null ],
- [ "write", "classllfio__v2__xxx_1_1file__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
+ [ "unlock_file", "classllfio__v2__xxx_1_1file__handle.html#a561ef83b4fe400b59c9d92444913c180", null ],
+ [ "unlock_file_range", "classllfio__v2__xxx_1_1file__handle.html#a5572735777dfdd3f7c5c1f6dc8260287", null ],
+ [ "unlock_file_shared", "classllfio__v2__xxx_1_1file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703", null ],
[ "write", "classllfio__v2__xxx_1_1file__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "zero", "classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364", null ],
- [ "_caching", "classllfio__v2__xxx_1_1file__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
+ [ "write", "classllfio__v2__xxx_1_1file__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "zero", "classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab", null ],
+ [ "zero", "classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1file__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
[ "_devid", "classllfio__v2__xxx_1_1file__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_flags", "classllfio__v2__xxx_1_1file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_inode", "classllfio__v2__xxx_1_1file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
- [ "_service", "classllfio__v2__xxx_1_1file__handle.html#aa2c2b2847fd039b9c255633e6031817a", null ],
[ "_v", "classllfio__v2__xxx_1_1file__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1file__handle.png b/classllfio__v2__xxx_1_1file__handle.png
index d98b803f..9043334b 100644
--- a/classllfio__v2__xxx_1_1file__handle.png
+++ b/classllfio__v2__xxx_1_1file__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard-members.html b/classllfio__v2__xxx_1_1file__handle_1_1extent__guard-members.html
deleted file mode 100644
index d7bd3463..00000000
--- a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard-members.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::file_handle::extent_guard Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab">extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_guard</b>(file_handle *h, extent_type offset, extent_type length, lock_kind kind) (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_guard</b>(const extent_guard &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d">extent_guard</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4">extent_guard</a>(extent_guard &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>file_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3">handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const extent_guard &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422">operator=</a>(extent_guard &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2">set_handle</a>(file_handle *h) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c">unlock</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~extent_guard</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-</table></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html b/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html
deleted file mode 100644
index a9e5ebc1..00000000
--- a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::file_handle::extent_guard Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pro-methods">Protected Member Functions</a> &#124;
-<a href="#friends">Friends</a> &#124;
-<a href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::file_handle::extent_guard Class Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>EXTENSION: RAII holder a locked extent of bytes in a file.
- <a href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#details">More...</a></p>
-
-<p><code>#include &quot;file_handle.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a18694fe27c43df1083145cfb6d90bab7"><td class="memItemLeft" align="right" valign="top"><a id="a18694fe27c43df1083145cfb6d90bab7"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>extent_guard</b> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;)=delete</td></tr>
-<tr class="separator:a18694fe27c43df1083145cfb6d90bab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b65170080b655042f5bf7ff69e378cf"><td class="memItemLeft" align="right" valign="top"><a id="a0b65170080b655042f5bf7ff69e378cf"></a>
-<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;)=delete</td></tr>
-<tr class="separator:a0b65170080b655042f5bf7ff69e378cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adefa54a7016ff90df967f04b665bf16d"><td class="memItemLeft" align="right" valign="top"><a id="adefa54a7016ff90df967f04b665bf16d"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d">extent_guard</a> ()</td></tr>
-<tr class="memdesc:adefa54a7016ff90df967f04b665bf16d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
-<tr class="separator:adefa54a7016ff90df967f04b665bf16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee5f29089f79e2fcec275168650b35f4"><td class="memItemLeft" align="right" valign="top"><a id="aee5f29089f79e2fcec275168650b35f4"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4">extent_guard</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:aee5f29089f79e2fcec275168650b35f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
-<tr class="separator:aee5f29089f79e2fcec275168650b35f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55acba6917b8ad067c55c6008b1b2422"><td class="memItemLeft" align="right" valign="top"><a id="a55acba6917b8ad067c55c6008b1b2422"></a>
-<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:a55acba6917b8ad067c55c6008b1b2422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assign. <br /></td></tr>
-<tr class="separator:a55acba6917b8ad067c55c6008b1b2422"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a542975791603454af85f9877a32f6ee9"><td class="memItemLeft" align="right" valign="top"><a id="a542975791603454af85f9877a32f6ee9"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9">operator bool</a> () const noexcept</td></tr>
-<tr class="memdesc:a542975791603454af85f9877a32f6ee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if extent guard is valid. <br /></td></tr>
-<tr class="separator:a542975791603454af85f9877a32f6ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf9625db67bae417deb305824c99add3"><td class="memItemLeft" align="right" valign="top"><a id="aaf9625db67bae417deb305824c99add3"></a>
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3">handle</a> () const noexcept</td></tr>
-<tr class="memdesc:aaf9625db67bae417deb305824c99add3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>file_handle</code> to be unlocked. <br /></td></tr>
-<tr class="separator:aaf9625db67bae417deb305824c99add3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a911d0cf556b0d234a33235f84c85dfc2"><td class="memItemLeft" align="right" valign="top"><a id="a911d0cf556b0d234a33235f84c85dfc2"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2">set_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> *h) noexcept</td></tr>
-<tr class="memdesc:a911d0cf556b0d234a33235f84c85dfc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the <code>file_handle</code> to be unlocked. <br /></td></tr>
-<tr class="separator:a911d0cf556b0d234a33235f84c85dfc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d28de635fdfadeb275524cab262ebab"><td class="memItemLeft" align="right" valign="top"><a id="a6d28de635fdfadeb275524cab262ebab"></a>
-std::tuple&lt; extent_type, extent_type, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab">extent</a> () const noexcept</td></tr>
-<tr class="memdesc:a6d28de635fdfadeb275524cab262ebab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The extent to be unlocked. <br /></td></tr>
-<tr class="separator:a6d28de635fdfadeb275524cab262ebab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6d6b683aeebc6d6da7880073507935c"><td class="memItemLeft" align="right" valign="top"><a id="ad6d6b683aeebc6d6da7880073507935c"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c">unlock</a> () noexcept</td></tr>
-<tr class="memdesc:ad6d6b683aeebc6d6da7880073507935c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the locked extent immediately. <br /></td></tr>
-<tr class="separator:ad6d6b683aeebc6d6da7880073507935c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5258babf2495492f55a1a72f5564bae2"><td class="memItemLeft" align="right" valign="top"><a id="a5258babf2495492f55a1a72f5564bae2"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2">release</a> () noexcept</td></tr>
-<tr class="memdesc:a5258babf2495492f55a1a72f5564bae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach this RAII unlocker from the locked state. <br /></td></tr>
-<tr class="separator:a5258babf2495492f55a1a72f5564bae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
-Protected Member Functions</h2></td></tr>
-<tr class="memitem:a8f7fedeaae0a414a3ab84c3b4ad5b45b"><td class="memItemLeft" align="right" valign="top"><a id="a8f7fedeaae0a414a3ab84c3b4ad5b45b"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>extent_guard</b> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> *h, extent_type offset, extent_type <a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind)</td></tr>
-<tr class="separator:a8f7fedeaae0a414a3ab84c3b4ad5b45b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
-Friends</h2></td></tr>
-<tr class="memitem:af04ab947e00adb1d01726aa376c42cf1"><td class="memItemLeft" align="right" valign="top"><a id="af04ab947e00adb1d01726aa376c42cf1"></a>
-class&#160;</td><td class="memItemRight" valign="bottom"><b>file_handle</b></td></tr>
-<tr class="separator:af04ab947e00adb1d01726aa376c42cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>EXTENSION: RAII holder a locked extent of bytes in a file. </p>
-</div><hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.js b/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.js
deleted file mode 100644
index 60d579d8..00000000
--- a/classllfio__v2__xxx_1_1file__handle_1_1extent__guard.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var classllfio__v2__xxx_1_1file__handle_1_1extent__guard =
-[
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a8f7fedeaae0a414a3ab84c3b4ad5b45b", null ],
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a18694fe27c43df1083145cfb6d90bab7", null ],
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d", null ],
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4", null ],
- [ "~extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a7ae40200b3504890be0820b4dd8f6b2d", null ],
- [ "extent", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab", null ],
- [ "handle", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3", null ],
- [ "operator bool", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9", null ],
- [ "operator=", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a0b65170080b655042f5bf7ff69e378cf", null ],
- [ "operator=", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422", null ],
- [ "release", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2", null ],
- [ "set_handle", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2", null ],
- [ "unlock", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c", null ],
- [ "file_handle", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#af04ab947e00adb1d01726aa376c42cf1", null ]
-]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1fs__handle-members.html b/classllfio__v2__xxx_1_1fs__handle-members.html
index 1add1ffe..9a533a4f 100644
--- a/classllfio__v2__xxx_1_1fs__handle-members.html
+++ b/classllfio__v2__xxx_1_1fs__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,17 +99,32 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4">to_win32_path</a>(const fs_handle &amp;h, win32_path_namespace) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -115,7 +132,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1fs__handle.html b/classllfio__v2__xxx_1_1fs__handle.html
index 2e00a6b6..a00518e7 100644
--- a/classllfio__v2__xxx_1_1fs__handle.html
+++ b/classllfio__v2__xxx_1_1fs__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::fs_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,6 +87,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fs__handle.html
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1fs__handle-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">llfio_v2_xxx::fs_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
@@ -101,14 +104,14 @@ Inheritance diagram for llfio_v2_xxx::fs_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1fs__handle.png" usemap="#llfio_5Fv2_5Fxxx::fs_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::fs_5Fhandle_map" name="llfio_5Fv2_5Fxxx::fs_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated. " alt="llfio_v2_xxx::directory_handle" shape="rect" coords="0,56,222,80"/>
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="232,56,454,80"/>
-<area href="classllfio__v2__xxx_1_1symlink__handle.html" title="A handle to an inode which redirects to a different path. " alt="llfio_v2_xxx::symlink_handle" shape="rect" coords="464,56,686,80"/>
-<area href="classllfio__v2__xxx_1_1async__file__handle.html" title="An asynchronous handle to an open something. " alt="llfio_v2_xxx::async_file_handle" shape="rect" coords="0,112,222,136"/>
-<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data. " alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="232,112,454,136"/>
-<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device. " alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="464,112,686,136"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated." alt="llfio_v2_xxx::directory_handle" shape="rect" coords="0,56,222,80"/>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="232,56,454,80"/>
+<area href="classllfio__v2__xxx_1_1pipe__handle.html" title="A handle to a named or anonymous pipe." alt="llfio_v2_xxx::pipe_handle" shape="rect" coords="464,56,686,80"/>
+<area href="classllfio__v2__xxx_1_1symlink__handle.html" title="A handle to an inode which redirects to a different path." alt="llfio_v2_xxx::symlink_handle" shape="rect" coords="696,56,918,80"/>
+<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data." alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="116,112,338,136"/>
+<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device." alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="348,112,570,136"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -126,6 +129,10 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -151,10 +158,60 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
@@ -190,11 +247,70 @@ dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td><
<tr class="memitem:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memItemLeft" align="right" valign="top"><a id="a8454764db3cd47e65ec7853b9cb0b3fa"></a>
ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td></tr>
<tr class="separator:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a0fd0de38fa849bfd8a8771a02679b1b4"><td class="memItemLeft" align="right" valign="top">result&lt; filesystem::path &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4">to_win32_path</a> (const <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;h, <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">win32_path_namespace</a>) noexcept</td></tr>
+<tr class="memdesc:a0fd0de38fa849bfd8a8771a02679b1b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps the current path of <code>h</code> into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. <a href="classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4">More...</a><br /></td></tr>
+<tr class="separator:a0fd0de38fa849bfd8a8771a02679b1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to something with a device and inode number. </p>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+</div>
+</div>
<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a865caad2f7f4bdf12fb74aabfe3c5ff5">&#9670;&nbsp;</a></span>parent_path_handle()</h2>
@@ -220,7 +336,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><div class="memdoc">
<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
</div>
@@ -270,7 +386,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -281,9 +399,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
</div>
</div>
@@ -318,12 +436,67 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
</div>
</div>
+<h2 class="groupheader">Friends And Related Function Documentation</h2>
+<a id="a0fd0de38fa849bfd8a8771a02679b1b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fd0de38fa849bfd8a8771a02679b1b4">&#9670;&nbsp;</a></span>to_win32_path</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;filesystem::path&gt; to_win32_path </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">win32_path_namespace</a>&#160;</td>
+ <td class="paramname">&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Maps the current path of <code>h</code> into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. </p>
+<dl class="section return"><dt>Returns</dt><dd>The mapped current path of <code>h</code>, which may have been validated to refer to the exact same inode via <code>.unique_id()</code> (see below). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>The handle whose <code>.current_path()</code> is to be mapped into a form suitable for Win32 APIs. </td></tr>
+ <tr><td class="paramname">mapping</td><td>Which Win32 path namespace to map onto.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This implementation may need to validate that the mapping of the current path of <code>h</code> onto the desired Win32 path namespace does indeed refer to the same file:</p>
+<ul>
+<li><code>win32_path_namespace::device</code> transforms <code>\!!\Device\...</code> =&gt; <code>\\.\...</code> and ensures that the mapped file's unique id matches the original, otherwise returning failure.</li>
+<li><code>win32_path_namespace::dos</code> enumerates all the DOS devices on the system and what those map onto within the NT kernel namespace. This mapping is for obvious reasons quite slow.</li>
+<li><code>win32_path_namespace::guid_volume</code> simply fetches the GUID of the volume of the handle, and constructs a valid Win32 path from that.</li>
+<li><code>win32_path_namespace::any</code> means attempt <code>guid_volume</code> first, and if it fails (e.g. your file is on a network share) then it attempts <code>dos</code>. This semantic may change in the future, however any path emitted will always be a valid Win32 path. </li>
+</ul>
+<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{ <span class="keywordflow">return</span> h._get_handle().current_path(); }</div>
+</div><!-- fragment -->
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="fs__handle_8hpp.html">fs_handle.hpp</a></li>
</ul>
@@ -335,7 +508,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1fs__handle.js b/classllfio__v2__xxx_1_1fs__handle.js
index 2ee33c5a..51340c69 100644
--- a/classllfio__v2__xxx_1_1fs__handle.js
+++ b/classllfio__v2__xxx_1_1fs__handle.js
@@ -4,6 +4,7 @@ var classllfio__v2__xxx_1_1fs__handle =
[ "ino_t", "classllfio__v2__xxx_1_1fs__handle.html#a6716da1bdd65c32c91eb3e4f34ccde98", null ],
[ "path_view_type", "classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "fs_handle", "classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97", null ],
[ "~fs_handle", "classllfio__v2__xxx_1_1fs__handle.html#a65ed33c4d0af7cbcd75aa32334473e95", null ],
[ "fs_handle", "classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d", null ],
@@ -11,14 +12,28 @@ var classllfio__v2__xxx_1_1fs__handle =
[ "fs_handle", "classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073", null ],
[ "_fetch_inode", "classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
[ "_get_handle", "classllfio__v2__xxx_1_1fs__handle.html#a5a8b8b7eb5a31bfc94c5bc7eb189fe45", null ],
- [ "operator=", "classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba", null ],
+ [ "link", "classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
[ "operator=", "classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "relink", "classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
[ "st_dev", "classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1fs__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1fs__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1fs__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1fs__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1fs__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1fs__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1fs__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1fs__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1fs__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1fs__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1fs__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1fs__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
[ "unique_id", "classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
+ [ "to_win32_path", "classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4", null ],
[ "_devid", "classllfio__v2__xxx_1_1fs__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_inode", "classllfio__v2__xxx_1_1fs__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1fs__handle.png b/classllfio__v2__xxx_1_1fs__handle.png
index fb0b4cc6..676e8af0 100644
--- a/classllfio__v2__xxx_1_1fs__handle.png
+++ b/classllfio__v2__xxx_1_1fs__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1handle-members.html b/classllfio__v2__xxx_1_1handle-members.html
index 94d2632e..1d055c9c 100644
--- a/classllfio__v2__xxx_1_1handle-members.html
+++ b/classllfio__v2__xxx_1_1handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,8 +89,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -105,15 +107,19 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -139,7 +145,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1handle.html b/classllfio__v2__xxx_1_1handle.html
index 6df489d2..91037679 100644
--- a/classllfio__v2__xxx_1_1handle.html
+++ b/classllfio__v2__xxx_1_1handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1handle-members.html">List of all members</a> </div>
@@ -101,18 +104,22 @@ Inheritance diagram for llfio_v2_xxx::handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1handle.png" usemap="#llfio_5Fv2_5Fxxx::handle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::handle_map" name="llfio_5Fv2_5Fxxx::handle_map">
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="348,56,570,80"/>
-<area href="classllfio__v2__xxx_1_1path__handle.html" title="A handle to somewhere originally identified by a path on the filing system. Typically used as the lig..." alt="llfio_v2_xxx::path_handle" shape="rect" coords="696,56,918,80"/>
-<area href="classllfio__v2__xxx_1_1section__handle.html" title="A handle to a source of mapped memory. " alt="llfio_v2_xxx::section_handle" shape="rect" coords="928,56,1150,80"/>
-<area href="classllfio__v2__xxx_1_1symlink__handle.html" title="A handle to an inode which redirects to a different path. " alt="llfio_v2_xxx::symlink_handle" shape="rect" coords="1160,56,1382,80"/>
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="232,112,454,136"/>
-<area href="classllfio__v2__xxx_1_1map__handle.html" title="A handle to a memory mapped region of memory, either backed by the system page file or by a section..." alt="llfio_v2_xxx::map_handle" shape="rect" coords="464,112,686,136"/>
-<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated. " alt="llfio_v2_xxx::directory_handle" shape="rect" coords="696,112,918,136"/>
-<area href="classllfio__v2__xxx_1_1async__file__handle.html" title="An asynchronous handle to an open something. " alt="llfio_v2_xxx::async_file_handle" shape="rect" coords="0,168,222,192"/>
-<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data. " alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="232,168,454,192"/>
-<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device. " alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="464,168,686,192"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1awaitable__handle.html" title="An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediatel..." alt="llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;" shape="rect" coords="0,56,284,80"/>
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="441,56,725,80"/>
+<area href="classllfio__v2__xxx_1_1io__multiplexer.html" title="A multiplexer of byte-orientated i/o." alt="llfio_v2_xxx::io_multiplexer" shape="rect" coords="735,56,1019,80"/>
+<area href="classllfio__v2__xxx_1_1path__handle.html" title="A handle to somewhere originally identified by a path on the filing system. Typically used as the lig..." alt="llfio_v2_xxx::path_handle" shape="rect" coords="1029,56,1313,80"/>
+<area href="classllfio__v2__xxx_1_1process__handle.html" title="A handle to this, or another, process." alt="llfio_v2_xxx::process_handle" shape="rect" coords="1323,56,1607,80"/>
+<area href="classllfio__v2__xxx_1_1section__handle.html" title="A handle to a source of mapped memory." alt="llfio_v2_xxx::section_handle" shape="rect" coords="1617,56,1901,80"/>
+<area href="classllfio__v2__xxx_1_1symlink__handle.html" title="A handle to an inode which redirects to a different path." alt="llfio_v2_xxx::symlink_handle" shape="rect" coords="1911,56,2195,80"/>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="294,112,578,136"/>
+<area href="classllfio__v2__xxx_1_1pipe__handle.html" title="A handle to a named or anonymous pipe." alt="llfio_v2_xxx::pipe_handle" shape="rect" coords="588,112,872,136"/>
+<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated." alt="llfio_v2_xxx::directory_handle" shape="rect" coords="1029,112,1313,136"/>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="147,168,431,192"/>
+<area href="classllfio__v2__xxx_1_1map__handle.html" title="A handle to a memory mapped region of memory, either backed by the system page file or by a section." alt="llfio_v2_xxx::map_handle" shape="rect" coords="441,168,725,192"/>
+<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data." alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="0,224,284,248"/>
+<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device." alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="294,224,578,248"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -126,8 +133,8 @@ Public Types</h2></td></tr>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a> = 7,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a> = 9
<br />
- }<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
<tr class="separator:aa3930273a2d4cabbac309e0b75701dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a> = 0,
@@ -137,8 +144,8 @@ Public Types</h2></td></tr>
<br />
&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>
<br />
- }<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
@@ -151,8 +158,8 @@ Public Types</h2></td></tr>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1">caching::safety_barriers</a> = 7,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a> = 8
<br />
- }<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
<tr class="separator:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33481bae57d9ccd0c97946416f9682f3"><td class="memItemLeft" align="right" valign="top"><a id="a33481bae57d9ccd0c97946416f9682f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> = filesystem::path</td></tr>
@@ -170,7 +177,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -232,12 +239,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -258,6 +269,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -270,6 +289,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -295,17 +318,20 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
@@ -356,7 +382,19 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; };</div>
+</div><!-- fragment -->
</div>
</div>
<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
@@ -392,7 +430,16 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"></a>always_new&#160;</td><td class="fielddoc"><p>If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; };</div>
+</div><!-- fragment -->
</div>
</div>
<a id="aa3930273a2d4cabbac309e0b75701dca"></a>
@@ -430,8 +477,17 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:553</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:462</div></div>
+<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; };</div>
</div><!-- fragment -->
</div>
</div>
@@ -459,7 +515,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</div><div class="memdoc">
<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -488,11 +544,12 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -521,24 +578,120 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
@@ -567,8 +720,10 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -577,13 +732,15 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle.</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:596</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:479</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1handle.js b/classllfio__v2__xxx_1_1handle.js
index be7834dd..ee9aaca2 100644
--- a/classllfio__v2__xxx_1_1handle.js
+++ b/classllfio__v2__xxx_1_1handle.js
@@ -41,15 +41,19 @@ var classllfio__v2__xxx_1_1handle =
[ "close", "classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6", null ],
[ "current_path", "classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
[ "flags", "classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
@@ -65,7 +69,6 @@ var classllfio__v2__xxx_1_1handle =
[ "swap", "classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4", null ],
[ "fs_handle", "classllfio__v2__xxx_1_1handle.html#a026944e947f6830e5bc5fd31aae205be", null ],
[ "operator<<", "classllfio__v2__xxx_1_1handle.html#a5c7d33dcd1f366fa378607e1dd087744", null ],
- [ "_caching", "classllfio__v2__xxx_1_1handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
[ "_flags", "classllfio__v2__xxx_1_1handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_v", "classllfio__v2__xxx_1_1handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1handle.png b/classllfio__v2__xxx_1_1handle.png
index 92850a0f..175966ca 100644
--- a/classllfio__v2__xxx_1_1handle.png
+++ b/classllfio__v2__xxx_1_1handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1io__handle-members.html b/classllfio__v2__xxx_1_1io__handle-members.html
index d4a0ca2c..4f61cca2 100644
--- a/classllfio__v2__xxx_1_1io__handle-members.html
+++ b/classllfio__v2__xxx_1_1io__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,66 +89,109 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_multiplexer</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -154,7 +199,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1io__handle.html b/classllfio__v2__xxx_1_1io__handle.html
index 6950100b..27852908 100644
--- a/classllfio__v2__xxx_1_1io__handle.html
+++ b/classllfio__v2__xxx_1_1io__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::io_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,17 +83,19 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html
<div class="header">
<div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1io__handle-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+<div class="title">llfio_v2_xxx::io_handle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
-<p>A handle to something capable of scatter-gather i/o.
+<p>A handle to something capable of scatter-gather byte i/o.
<a href="classllfio__v2__xxx_1_1io__handle.html#details">More...</a></p>
<p><code>#include &quot;io_handle.hpp&quot;</code></p>
@@ -101,37 +105,18 @@ Inheritance diagram for llfio_v2_xxx::io_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1io__handle.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::io_5Fhandle_map" name="llfio_5Fv2_5Fxxx::io_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="348,0,570,24"/>
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="232,112,454,136"/>
-<area href="classllfio__v2__xxx_1_1map__handle.html" title="A handle to a memory mapped region of memory, either backed by the system page file or by a section..." alt="llfio_v2_xxx::map_handle" shape="rect" coords="464,112,686,136"/>
-<area href="classllfio__v2__xxx_1_1async__file__handle.html" title="An asynchronous handle to an open something. " alt="llfio_v2_xxx::async_file_handle" shape="rect" coords="0,168,222,192"/>
-<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data. " alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="232,168,454,192"/>
-<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device. " alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="464,168,686,192"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="348,0,570,24"/>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="232,112,454,136"/>
+<area href="classllfio__v2__xxx_1_1pipe__handle.html" title="A handle to a named or anonymous pipe." alt="llfio_v2_xxx::pipe_handle" shape="rect" coords="464,112,686,136"/>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="116,168,338,192"/>
+<area href="classllfio__v2__xxx_1_1map__handle.html" title="A handle to a memory mapped region of memory, either backed by the system page file or by a section." alt="llfio_v2_xxx::map_handle" shape="rect" coords="348,168,570,192"/>
+<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data." alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="0,224,222,248"/>
+<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device." alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="232,224,454,248"/>
+ </map>
+</div></div>
<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70374e65bae2e28bd94bffc0d73d1099"><td class="memItemLeft" align="right" valign="top"><a id="a70374e65bae2e28bd94bffc0d73d1099"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
<tr class="separator:a70374e65bae2e28bd94bffc0d73d1099"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -153,28 +138,51 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
<tr class="memitem:a5422bf3cbcf7107722ed20df04ae8eb0"><td class="memItemLeft" align="right" valign="top"><a id="a5422bf3cbcf7107722ed20df04ae8eb0"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = handle::flag</td></tr>
<tr class="separator:a5422bf3cbcf7107722ed20df04ae8eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8f525d9665b524442b46cd55678817ed"><td class="memItemLeft" align="right" valign="top"><a id="a8f525d9665b524442b46cd55678817ed"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> = span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;</td></tr>
-<tr class="memdesc:a8f525d9665b524442b46cd55678817ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scatter buffers type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <br /></td></tr>
-<tr class="separator:a8f525d9665b524442b46cd55678817ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a693a8c64bb7de1a6835d6a151e37aa0e"><td class="memItemLeft" align="right" valign="top"><a id="a693a8c64bb7de1a6835d6a151e37aa0e"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> = span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;</td></tr>
-<tr class="memdesc:a693a8c64bb7de1a6835d6a151e37aa0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The gather buffers type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <br /></td></tr>
-<tr class="separator:a693a8c64bb7de1a6835d6a151e37aa0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaacc924402e14369c413f47c7811621"><td class="memItemLeft" align="right" valign="top"><a id="afaacc924402e14369c413f47c7811621"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_multiplexer::buffer_type</a></td></tr>
+<tr class="separator:afaacc924402e14369c413f47c7811621"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a239fa42e0e0250255e21e11c6ca71afe"><td class="memItemLeft" align="right" valign="top"><a id="a239fa42e0e0250255e21e11c6ca71afe"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_multiplexer::const_buffer_type</a></td></tr>
+<tr class="separator:a239fa42e0e0250255e21e11c6ca71afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3168ab42931fef872ae8925188956441"><td class="memItemLeft" align="right" valign="top"><a id="a3168ab42931fef872ae8925188956441"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">io_multiplexer::buffers_type</a></td></tr>
+<tr class="separator:a3168ab42931fef872ae8925188956441"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a705f1879263ddec8ade296636aec07ea"><td class="memItemLeft" align="right" valign="top"><a id="a705f1879263ddec8ade296636aec07ea"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">io_multiplexer::const_buffers_type</a></td></tr>
+<tr class="separator:a705f1879263ddec8ade296636aec07ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcd420c097db894ebea4ec6777e17233"><td class="memTemplParams" colspan="2"><a id="adcd420c097db894ebea4ec6777e17233"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:adcd420c097db894ebea4ec6777e17233"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_multiplexer::io_request</a>&lt; T &gt;</td></tr>
+<tr class="separator:adcd420c097db894ebea4ec6777e17233"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e699aaa8e6f592bdf8afb4b12bfe5f3"><td class="memTemplParams" colspan="2"><a id="a1e699aaa8e6f592bdf8afb4b12bfe5f3"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a1e699aaa8e6f592bdf8afb4b12bfe5f3"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_multiplexer::io_result</a>&lt; T &gt;</td></tr>
+<tr class="separator:a1e699aaa8e6f592bdf8afb4b12bfe5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:ab4b195f6b8cee1ffd48e28545245c762"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a> ()</td></tr>
-<tr class="memdesc:ab4b195f6b8cee1ffd48e28545245c762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#ab4b195f6b8cee1ffd48e28545245c762">More...</a><br /></td></tr>
+<tr class="memitem:ab4b195f6b8cee1ffd48e28545245c762"><td class="memItemLeft" align="right" valign="top"><a id="ab4b195f6b8cee1ffd48e28545245c762"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a> ()</td></tr>
+<tr class="memdesc:ab4b195f6b8cee1ffd48e28545245c762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:ab4b195f6b8cee1ffd48e28545245c762"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="memItemLeft" align="right" valign="top"><a id="aa27be0c27aeb13dd6a9dfb22e190bed3"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
-<tr class="memdesc:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
-<tr class="separator:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeb43111b811438b9193f4561e89a0a5b"><td class="memItemLeft" align="right" valign="top"><a id="aeb43111b811438b9193f4561e89a0a5b"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:aeb43111b811438b9193f4561e89a0a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
-<tr class="separator:aeb43111b811438b9193f4561e89a0a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afece0f6d7018b58b4aa8de53b30d5367"><td class="memItemLeft" align="right" valign="top"><a id="afece0f6d7018b58b4aa8de53b30d5367"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:afece0f6d7018b58b4aa8de53b30d5367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:afece0f6d7018b58b4aa8de53b30d5367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34eb160bdacbc292992218a34a6df785"><td class="memItemLeft" align="right" valign="top"><a id="a34eb160bdacbc292992218a34a6df785"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:a34eb160bdacbc292992218a34a6df785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:a34eb160bdacbc292992218a34a6df785"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae91c8db1fca923c7743b257c125c77f7"><td class="memItemLeft" align="right" valign="top"><a id="ae91c8db1fca923c7743b257c125c77f7"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:ae91c8db1fca923c7743b257c125c77f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move construction permitted. <br /></td></tr>
@@ -191,22 +199,100 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">operator=</a> (const <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;)=delete</td></tr>
<tr class="memdesc:a7e31726ff57b2eca62591209c17ad4a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy assignment. <br /></td></tr>
<tr class="separator:a7e31726ff57b2eca62591209c17ad4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:a8f174dc8dd23664251ee2a4f767283c2"><td class="memItemLeft" align="right" valign="top"><a id="a8f174dc8dd23664251ee2a4f767283c2"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">close</a> () noexcept override</td></tr>
+<tr class="memdesc:a8f174dc8dd23664251ee2a4f767283c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a8f174dc8dd23664251ee2a4f767283c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -217,10 +303,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memItemLeft" align="right" valign="top"><a id="a62a75b1a4a24fbc9ad2e98a641167db6"></a>
-virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a> () noexcept</td></tr>
-<tr class="memdesc:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
-<tr class="separator:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
@@ -244,12 +326,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -270,6 +356,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -282,6 +376,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -307,58 +405,75 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memItemLeft" align="right" valign="top"><a id="ae5ec845b3e2c2e31c2dc3de1d276a7e3"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4379e3f84b913f606bb2ec6a194d4380"><td class="memItemLeft" align="right" valign="top"><a id="a4379e3f84b913f606bb2ec6a194d4380"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a4379e3f84b913f606bb2ec6a194d4380"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a4379e3f84b913f606bb2ec6a194d4380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memItemLeft" align="right" valign="top"><a id="a2102f73a4872e8fd8bbe1c71ef82c97f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memItemLeft" align="right" valign="top"><a id="a0f1d67fa1ad7f0d0b1256b6138929d60"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a71ca42d3fa4ca70075678e5ab4fe8200"><td class="memItemLeft" align="right" valign="top"><a id="a71ca42d3fa4ca70075678e5ab4fe8200"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>io_multiplexer</b></td></tr>
+<tr class="separator:a71ca42d3fa4ca70075678e5ab4fe8200"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A handle to something capable of scatter-gather i/o. </p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="ab4b195f6b8cee1ffd48e28545245c762"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab4b195f6b8cee1ffd48e28545245c762">&#9670;&nbsp;</a></span>io_handle()</h2>
+<div class="textblock"><p>A handle to something capable of scatter-gather byte i/o. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
<div class="memitem">
<div class="memproto">
@@ -367,27 +482,42 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">constexpr llfio_v2_xxx::io_handle::io_handle </td>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Default constructor. </p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
-<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{} <span class="comment">// NOLINT</span></div></div><!-- fragment -->
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -396,16 +526,16 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -421,12 +551,12 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
<dd>
Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
@@ -441,9 +571,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
@@ -469,8 +602,158 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -498,16 +781,17 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
<div class="memitem">
<div class="memproto">
@@ -516,7 +800,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -524,17 +808,25 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
-
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
@@ -562,28 +854,124 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read()</h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
@@ -592,9 +980,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a>&gt; llfio_v2_xxx::io_handle::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -611,12 +999,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the open handle. </p>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
@@ -626,9 +1014,10 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
@@ -657,13 +1046,15 @@ For portability, you can only assume that barriers write order for a single hand
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[1/2]</span></h2>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
<div class="memitem">
<div class="memproto">
@@ -672,21 +1063,11 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
@@ -696,23 +1077,47 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[2/2]</span></h2>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
@@ -721,16 +1126,10 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -750,24 +1149,49 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
+
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
</div><!-- fragment -->
</div>
</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
+<li>include/llfio/v2.0/<a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1io__handle.js b/classllfio__v2__xxx_1_1io__handle.js
index e86ee813..7944c2d5 100644
--- a/classllfio__v2__xxx_1_1io__handle.js
+++ b/classllfio__v2__xxx_1_1io__handle.js
@@ -1,65 +1,98 @@
var classllfio__v2__xxx_1_1io__handle =
[
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type" ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type" ],
- [ "io_request", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html", "structllfio__v2__xxx_1_1io__handle_1_1io__request" ],
- [ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", "structllfio__v2__xxx_1_1io__handle_1_1io__result" ],
- [ "buffers_type", "classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed", null ],
+ [ "awaitable", "classllfio__v2__xxx_1_1io__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1io__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
+ [ "buffer_type", "classllfio__v2__xxx_1_1io__handle.html#afaacc924402e14369c413f47c7811621", null ],
+ [ "buffers_type", "classllfio__v2__xxx_1_1io__handle.html#a3168ab42931fef872ae8925188956441", null ],
[ "caching", "classllfio__v2__xxx_1_1io__handle.html#a8896fe978137f142648901cdfe7ab71f", null ],
- [ "const_buffers_type", "classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e", null ],
+ [ "const_buffer_type", "classllfio__v2__xxx_1_1io__handle.html#a239fa42e0e0250255e21e11c6ca71afe", null ],
+ [ "const_buffers_type", "classllfio__v2__xxx_1_1io__handle.html#a705f1879263ddec8ade296636aec07ea", null ],
[ "creation", "classllfio__v2__xxx_1_1io__handle.html#af74f2ad7f0cffb4161d0bd137710436c", null ],
[ "extent_type", "classllfio__v2__xxx_1_1io__handle.html#a4fc8d70aa6805d7ea2ee9a48a19ce107", null ],
[ "flag", "classllfio__v2__xxx_1_1io__handle.html#a5422bf3cbcf7107722ed20df04ae8eb0", null ],
+ [ "io_request", "classllfio__v2__xxx_1_1io__handle.html#adcd420c097db894ebea4ec6777e17233", null ],
+ [ "io_result", "classllfio__v2__xxx_1_1io__handle.html#a1e699aaa8e6f592bdf8afb4b12bfe5f3", null ],
[ "mode", "classllfio__v2__xxx_1_1io__handle.html#ae2956bce00d899553c80f9de7f585984", null ],
[ "path_type", "classllfio__v2__xxx_1_1io__handle.html#a70374e65bae2e28bd94bffc0d73d1099", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1io__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
[ "size_type", "classllfio__v2__xxx_1_1io__handle.html#a3d1224d5941b8c70761b2dcc2ba31217", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762", null ],
[ "~io_handle", "classllfio__v2__xxx_1_1io__handle.html#a7117e0e4327c09103c1f27a9363c8b24", null ],
- [ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3", null ],
- [ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b", null ],
+ [ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367", null ],
+ [ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785", null ],
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7", null ],
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1io__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1io__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1io__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1io__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1io__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
[ "clone", "classllfio__v2__xxx_1_1io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
- [ "close", "classllfio__v2__xxx_1_1io__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6", null ],
+ [ "close", "classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1io__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1io__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
[ "current_path", "classllfio__v2__xxx_1_1io__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
[ "flags", "classllfio__v2__xxx_1_1io__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1io__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1io__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1io__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1io__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1io__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1io__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1io__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1io__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1io__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1io__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1io__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1io__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1io__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1io__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1io__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1io__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
[ "native_handle", "classllfio__v2__xxx_1_1io__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f", null ],
[ "operator=", "classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1io__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
+ [ "read", "classllfio__v2__xxx_1_1io__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1io__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
[ "release", "classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
[ "swap", "classllfio__v2__xxx_1_1io__handle.html#a4716696b8700953889006251e0678aa4", null ],
- [ "write", "classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1io__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1io__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1io__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1io__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1io__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1io__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1io__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1io__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1io__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
[ "write", "classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "_caching", "classllfio__v2__xxx_1_1io__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
+ [ "write", "classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1io__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "io_multiplexer", "classllfio__v2__xxx_1_1io__handle.html#a71ca42d3fa4ca70075678e5ab4fe8200", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1io__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
[ "_flags", "classllfio__v2__xxx_1_1io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_v", "classllfio__v2__xxx_1_1io__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1io__handle.png b/classllfio__v2__xxx_1_1io__handle.png
index 4e034c3f..bfd9525a 100644
--- a/classllfio__v2__xxx_1_1io__handle.png
+++ b/classllfio__v2__xxx_1_1io__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1io__multiplexer-members.html b/classllfio__v2__xxx_1_1io__multiplexer-members.html
new file mode 100644
index 00000000..21dd3086
--- /dev/null
+++ b/classllfio__v2__xxx_1_1io__multiplexer-members.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__multiplexer.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_awaitable_size</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_result_type_from_io_operation_state</b>(io_operation_state *state, buffers_type *) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_result_type_from_io_operation_state</b>(io_operation_state *state, const_buffers_type *) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff">cancel_io_operation</a>(io_operation_state *op, deadline d={}) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95">check_for_any_completed_io</a>(deadline d=std::chrono::seconds(0), size_t max_completions=(size_t) -1) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39">check_io_operation</a>(io_operation_state *op) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029">construct</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970">construct</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c">construct_and_init_io_operation</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2">construct_and_init_io_operation</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d">construct_and_init_io_operation</a>(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(io_handle *h, size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(io_handle *) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(const io_handle *h) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6">do_io_handle_register</a>(io_handle *) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484">flush_inited_io_operations</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">llfio_v2_xxx::handle::handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">llfio_v2_xxx::handle::handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">llfio_v2_xxx::handle::handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18">init_io_operation</a>(io_operation_state *state) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_multiplexer</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_multiplexer</b>(io_multiplexer &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_multiplexer</b>(const io_multiplexer &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7">io_state_requirements</a>() noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(io_multiplexer &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const io_multiplexer &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5">wake_check_for_any_completed_io</a>() noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_multiplexer</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">llfio_v2_xxx::io_multiplexer</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1io__multiplexer.html b/classllfio__v2__xxx_1_1io__multiplexer.html
new file mode 100644
index 00000000..e174543f
--- /dev/null
+++ b/classllfio__v2__xxx_1_1io__multiplexer.html
@@ -0,0 +1,882 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__multiplexer.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
+<a href="classllfio__v2__xxx_1_1io__multiplexer-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A multiplexer of byte-orientated i/o.
+ <a href="classllfio__v2__xxx_1_1io__multiplexer.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1io__multiplexer.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer_map">
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,161,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A synchronised i/o operation state. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An unsynchronised i/o operation state. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenience coroutine awaitable type returned by <code>.co_read()</code>, <code>.co_write()</code> and <code>.co_barrier()</code>. <b>Blocks execution</b> if no i/o multiplexer has been set on this handle! <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">check_for_any_completed_io_statistics</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics about the just returned <code>wait_for_completed_io()</code> operation. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface to a state for an i/o operation scheduled against an i/o multiplexer. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by an i/o operation state to inform you of state change. Note that the i/o operation state lock is HELD during these calls! <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ace3fed6888ea1b5b6f1f641e2cf7cd26"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> : uint8_t { <br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c">barrier_kind::nowait_view_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c">barrier_kind::wait_view_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:ace3fed6888ea1b5b6f1f641e2cf7cd26"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">More...</a><br /></td></tr>
+<tr class="separator:ace3fed6888ea1b5b6f1f641e2cf7cd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346290c369da8294d0c516c1c57b01e6"><td class="memItemLeft" align="right" valign="top"><a id="a346290c369da8294d0c516c1c57b01e6"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
+<tr class="separator:a346290c369da8294d0c516c1c57b01e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a768e40bcc76ee49752a8228a5806ecd3"><td class="memItemLeft" align="right" valign="top"><a id="a768e40bcc76ee49752a8228a5806ecd3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a></td></tr>
+<tr class="separator:a768e40bcc76ee49752a8228a5806ecd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58197ed3d18b980f4edda260c0776848"><td class="memItemLeft" align="right" valign="top"><a id="a58197ed3d18b980f4edda260c0776848"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">handle::size_type</a></td></tr>
+<tr class="separator:a58197ed3d18b980f4edda260c0776848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a706dea29b89267219c6e44ac18ecbe"><td class="memItemLeft" align="right" valign="top"><a id="a7a706dea29b89267219c6e44ac18ecbe"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">handle::mode</a></td></tr>
+<tr class="separator:a7a706dea29b89267219c6e44ac18ecbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1186f1839592b04df0ff3e83a237ad6"><td class="memItemLeft" align="right" valign="top"><a id="ae1186f1839592b04df0ff3e83a237ad6"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">handle::creation</a></td></tr>
+<tr class="separator:ae1186f1839592b04df0ff3e83a237ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a5833588ff0afa615396ab540cd04ce"><td class="memItemLeft" align="right" valign="top"><a id="a9a5833588ff0afa615396ab540cd04ce"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">handle::caching</a></td></tr>
+<tr class="separator:a9a5833588ff0afa615396ab540cd04ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65c43477b8f59dbf9306c28d07bbeccd"><td class="memItemLeft" align="right" valign="top"><a id="a65c43477b8f59dbf9306c28d07bbeccd"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = handle::flag</td></tr>
+<tr class="separator:a65c43477b8f59dbf9306c28d07bbeccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9991b48f4cd8c77ef7fd31e6c48003b3"><td class="memItemLeft" align="right" valign="top"><a id="a9991b48f4cd8c77ef7fd31e6c48003b3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> = std::shared_ptr&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &gt;</td></tr>
+<tr class="memdesc:a9991b48f4cd8c77ef7fd31e6c48003b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The registered buffer type used by this handle. <br /></td></tr>
+<tr class="separator:a9991b48f4cd8c77ef7fd31e6c48003b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f5f10bf45bad03c994342e544675354"><td class="memItemLeft" align="right" valign="top"><a id="a6f5f10bf45bad03c994342e544675354"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> = span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt;</td></tr>
+<tr class="memdesc:a6f5f10bf45bad03c994342e544675354"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scatter buffers type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <br /></td></tr>
+<tr class="separator:a6f5f10bf45bad03c994342e544675354"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc6841b44841c72c3778a3aee296a051"><td class="memItemLeft" align="right" valign="top"><a id="abc6841b44841c72c3778a3aee296a051"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> = span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt;</td></tr>
+<tr class="memdesc:abc6841b44841c72c3778a3aee296a051"><td class="mdescLeft">&#160;</td><td class="mdescRight">The gather buffers type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <br /></td></tr>
+<tr class="separator:abc6841b44841c72c3778a3aee296a051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a341cfbdcd8bda7a78a5cb5fa31a28977"><td class="memItemLeft" align="right" valign="top"><a id="a341cfbdcd8bda7a78a5cb5fa31a28977"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_multiplexer</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a341cfbdcd8bda7a78a5cb5fa31a28977"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad86991607675e67ba483f11eacce48cf"><td class="memItemLeft" align="right" valign="top"><a id="ad86991607675e67ba483f11eacce48cf"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_multiplexer</b> (const <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;)=delete</td></tr>
+<tr class="separator:ad86991607675e67ba483f11eacce48cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5fe3c6f6ff89dd13901aa756af8886b"><td class="memItemLeft" align="right" valign="top"><a id="ab5fe3c6f6ff89dd13901aa756af8886b"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:ab5fe3c6f6ff89dd13901aa756af8886b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0ca2e5eed9d06d2647dd0d2367f820c"><td class="memItemLeft" align="right" valign="top"><a id="ac0ca2e5eed9d06d2647dd0d2367f820c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &amp;)=delete</td></tr>
+<tr class="separator:ac0ca2e5eed9d06d2647dd0d2367f820c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04d99f9603d31c674aaf865d58abc4d6"><td class="memItemLeft" align="right" valign="top">virtual result&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6">do_io_handle_register</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *) noexcept</td></tr>
+<tr class="separator:a04d99f9603d31c674aaf865d58abc4d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c9d163a9e1ca06acbce1f135cfef087"><td class="memItemLeft" align="right" valign="top"><a id="a7c9d163a9e1ca06acbce1f135cfef087"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *) noexcept</td></tr>
+<tr class="memdesc:a7c9d163a9e1ca06acbce1f135cfef087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <code>io_handle</code> deregistration. <br /></td></tr>
+<tr class="separator:a7c9d163a9e1ca06acbce1f135cfef087"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cc4f56ad15d1bed49d68c56a278ad0c"><td class="memItemLeft" align="right" valign="top"><a id="a1cc4f56ad15d1bed49d68c56a278ad0c"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a> (const <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *h) const noexcept</td></tr>
+<tr class="memdesc:a1cc4f56ad15d1bed49d68c56a278ad0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <code>io_handle::max_buffers()</code> <br /></td></tr>
+<tr class="separator:a1cc4f56ad15d1bed49d68c56a278ad0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e79fd19de80e77c274b93d0d01b2f10"><td class="memItemLeft" align="right" valign="top"><a id="a3e79fd19de80e77c274b93d0d01b2f10"></a>
+virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *h, size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a3e79fd19de80e77c274b93d0d01b2f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <code>io_handle::allocate_registered_buffer()</code> <br /></td></tr>
+<tr class="separator:a3e79fd19de80e77c274b93d0d01b2f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afcc26074f96f9b403c539171335772b7"><td class="memItemLeft" align="right" valign="top"><a id="afcc26074f96f9b403c539171335772b7"></a>
+virtual std::pair&lt; size_t, size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7">io_state_requirements</a> () noexcept=0</td></tr>
+<tr class="memdesc:afcc26074f96f9b403c539171335772b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes, and alignment required, for an <code>io_operation_state</code> for this multiplexer. <br /></td></tr>
+<tr class="separator:afcc26074f96f9b403c539171335772b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00bf4ea26d854a7e8c9734f357d417f3"><td class="memItemLeft" align="right" valign="top"><a id="a00bf4ea26d854a7e8c9734f357d417f3"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs) noexcept=0</td></tr>
+<tr class="memdesc:a00bf4ea26d854a7e8c9734f357d417f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs either a <code>unsynchronised_io_operation_state</code> or a <code>synchronised_io_operation_state</code> for a read operation into the storage provided. The i/o is not initiated. The storage must meet the requirements from <code>state_requirements()</code>. <br /></td></tr>
+<tr class="separator:a00bf4ea26d854a7e8c9734f357d417f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae31687dae2c9294cf83df6257aac029"><td class="memItemLeft" align="right" valign="top"><a id="aae31687dae2c9294cf83df6257aac029"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029">construct</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs) noexcept=0</td></tr>
+<tr class="memdesc:aae31687dae2c9294cf83df6257aac029"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs either a <code>unsynchronised_io_operation_state</code> or a <code>synchronised_io_operation_state</code> for a write operation into the storage provided. The i/o is not initiated. The storage must meet the requirements from <code>state_requirements()</code>. <br /></td></tr>
+<tr class="separator:aae31687dae2c9294cf83df6257aac029"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae785b4e424362a5b096ee6e8014e2970"><td class="memItemLeft" align="right" valign="top"><a id="ae785b4e424362a5b096ee6e8014e2970"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970">construct</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind) noexcept=0</td></tr>
+<tr class="memdesc:ae785b4e424362a5b096ee6e8014e2970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs either a <code>unsynchronised_io_operation_state</code> or a <code>synchronised_io_operation_state</code> for a barrier operation into the storage provided. The i/o is not initiated. The storage must meet the requirements from <code>state_requirements()</code>. <br /></td></tr>
+<tr class="separator:ae785b4e424362a5b096ee6e8014e2970"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0b9a8df7efdc2defbc2f09c20855e18"><td class="memItemLeft" align="right" valign="top"><a id="ad0b9a8df7efdc2defbc2f09c20855e18"></a>
+virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18">init_io_operation</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *state) noexcept=0</td></tr>
+<tr class="memdesc:ad0b9a8df7efdc2defbc2f09c20855e18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates the i/o in a previously constructed state. Note that you should always call <code>.flush_inited_io_operations()</code> after you finished initiating i/o. After this call returns, you cannot relocate in memory <code>state</code> until <code>is_finished(state-&gt;current_state())</code> returns true. <br /></td></tr>
+<tr class="separator:ad0b9a8df7efdc2defbc2f09c20855e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b8db29df7849ede0d159122d238d24c"><td class="memItemLeft" align="right" valign="top"><a id="a9b8db29df7849ede0d159122d238d24c"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c">construct_and_init_io_operation</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs) noexcept</td></tr>
+<tr class="memdesc:a9b8db29df7849ede0d159122d238d24c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines <code>.construct()</code> with <code>.init_io_operation()</code> in a single call for improved efficiency. <br /></td></tr>
+<tr class="separator:a9b8db29df7849ede0d159122d238d24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87eba5e0e73a90e6db9dbd0a1e2957b2"><td class="memItemLeft" align="right" valign="top"><a id="a87eba5e0e73a90e6db9dbd0a1e2957b2"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2">construct_and_init_io_operation</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs) noexcept</td></tr>
+<tr class="memdesc:a87eba5e0e73a90e6db9dbd0a1e2957b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines <code>.construct()</code> with <code>.init_io_operation()</code> in a single call for improved efficiency. <br /></td></tr>
+<tr class="separator:a87eba5e0e73a90e6db9dbd0a1e2957b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a2c02458144433ede39c57a2e34ce3d"><td class="memItemLeft" align="right" valign="top"><a id="a3a2c02458144433ede39c57a2e34ce3d"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d">construct_and_init_io_operation</a> (span&lt; byte &gt; storage, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind) noexcept</td></tr>
+<tr class="memdesc:a3a2c02458144433ede39c57a2e34ce3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines <code>.construct()</code> with <code>.init_io_operation()</code> in a single call for improved efficiency. <br /></td></tr>
+<tr class="separator:a3a2c02458144433ede39c57a2e34ce3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ababbe4b445f0063c75181021fe782484"><td class="memItemLeft" align="right" valign="top"><a id="ababbe4b445f0063c75181021fe782484"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484">flush_inited_io_operations</a> () noexcept</td></tr>
+<tr class="memdesc:ababbe4b445f0063c75181021fe782484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes any previously initiated i/o, if necessary for this i/o multiplexer. <br /></td></tr>
+<tr class="separator:ababbe4b445f0063c75181021fe782484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1f909cde3bc343d2ce27345af4a9f39"><td class="memItemLeft" align="right" valign="top"><a id="ad1f909cde3bc343d2ce27345af4a9f39"></a>
+virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39">check_io_operation</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *op) noexcept</td></tr>
+<tr class="memdesc:ad1f909cde3bc343d2ce27345af4a9f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Asks the system for the current state of the i/o, returning its current state. <br /></td></tr>
+<tr class="separator:ad1f909cde3bc343d2ce27345af4a9f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67bedbb8d86cbae91475f7f0dad9e9ff"><td class="memItemLeft" align="right" valign="top"><a id="a67bedbb8d86cbae91475f7f0dad9e9ff"></a>
+virtual result&lt; <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff">cancel_io_operation</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *op, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}) noexcept=0</td></tr>
+<tr class="memdesc:a67bedbb8d86cbae91475f7f0dad9e9ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel an initiated i/o, returning its current state if successful. <br /></td></tr>
+<tr class="separator:a67bedbb8d86cbae91475f7f0dad9e9ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a408f42437c337934d180d5a13a141e95"><td class="memItemLeft" align="right" valign="top"><a id="a408f42437c337934d180d5a13a141e95"></a>
+virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">check_for_any_completed_io_statistics</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95">check_for_any_completed_io</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(0), size_t max_completions=(size_t) -1) noexcept=0</td></tr>
+<tr class="memdesc:a408f42437c337934d180d5a13a141e95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks all i/o initiated on this i/o multiplexer to see which have completed, trying without guarantee to complete no more than <code>max_completions</code> completions or finisheds, and not to exceed <code>d</code> of waiting (this function never fails with timed out). <br /></td></tr>
+<tr class="separator:a408f42437c337934d180d5a13a141e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68df23fe7e7b730bed40614e7cfd48b5"><td class="memItemLeft" align="right" valign="top"><a id="a68df23fe7e7b730bed40614e7cfd48b5"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5">wake_check_for_any_completed_io</a> () noexcept=0</td></tr>
+<tr class="memdesc:a68df23fe7e7b730bed40614e7cfd48b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be called from any thread to wake any other single thread currently blocked within <code>check_for_any_completed_io()</code>. Which thread is woken is not specified. <br /></td></tr>
+<tr class="separator:a68df23fe7e7b730bed40614e7cfd48b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea43917ff5cc28f3da3c622c0b3382c4"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a> ()</td></tr>
+<tr class="separator:aea43917ff5cc28f3da3c622c0b3382c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7912947fb8fe6270535eb6bddba50d4"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:ad7912947fb8fe6270535eb6bddba50d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a798fa51a935da9b16ed7bb565b3a4c11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;)=delete</td></tr>
+<tr class="separator:a798fa51a935da9b16ed7bb565b3a4c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ce55ea40b3a0c313f3cb34bb59750f0"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a6ce55ea40b3a0c313f3cb34bb59750f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
+<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memItemLeft" align="right" valign="top"><a id="a62a75b1a4a24fbc9ad2e98a641167db6"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a> () noexcept</td></tr>
+<tr class="memdesc:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a62a75b1a4a24fbc9ad2e98a641167db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
+<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
+<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
+<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
+<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
+<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
+<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
+<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
+<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
+<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
+<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
+<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
+<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
+<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
+<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
+<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
+<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
+<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
+<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
+<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
+<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
+<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
+<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
+<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
+<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
+<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
+<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
+<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
+<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
+<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
+<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
+<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
+<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
+<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
+<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a39150201fa81329118b2c3da2b0a1342"><td class="memItemLeft" align="right" valign="top"><a id="a39150201fa81329118b2c3da2b0a1342"></a>
+static <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_result_type_from_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *state, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> *) noexcept</td></tr>
+<tr class="separator:a39150201fa81329118b2c3da2b0a1342"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad41439531033aaeef9fe4d2d89b7aa9c"><td class="memItemLeft" align="right" valign="top"><a id="ad41439531033aaeef9fe4d2d89b7aa9c"></a>
+static <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_result_type_from_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *state, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> *) noexcept</td></tr>
+<tr class="separator:ad41439531033aaeef9fe4d2d89b7aa9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
+<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:a8d20a30750fd1aede341fd01c2be0bfa"><td class="memItemLeft" align="right" valign="top"><a id="a8d20a30750fd1aede341fd01c2be0bfa"></a>
+static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_awaitable_size</b> = 128</td></tr>
+<tr class="separator:a8d20a30750fd1aede341fd01c2be0bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A multiplexer of byte-orientated i/o. </p>
+<p>LLFIO does not provide out-of-the-box multiplexing of byte i/o, however it does provide the ability to create <code>io_handle</code> instances with the <code>handle::flag::multiplexable</code> set. With that flag set, the following LLFIO classes change how they create handles with the kernel:</p>
+<table class="doxtable">
+<tr>
+<th>LLFIO i/o class</th><th>POSIX</th><th>Windows </th></tr>
+<tr>
+<td><code>directory_handle</code></td><td>No effect</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code> </td></tr>
+<tr>
+<td><code>file_handle</code></td><td>No effect</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code> </td></tr>
+<tr>
+<td><code>map_handle</code></td><td>No effect</td><td>No effect </td></tr>
+<tr>
+<td><code>mapped_file_handle</code></td><td>No effect</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code>, but i/o is to map not file </td></tr>
+<tr>
+<td><code>pipe_handle</code></td><td>Creates file descriptor as non-blocking</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code> </td></tr>
+<tr>
+<td><code>section_handle</code></td><td>No effect</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code> </td></tr>
+<tr>
+<td><code>symlink_handle</code></td><td>No effect</td><td>Creates <code>HANDLE</code> as <code>OVERLAPPED</code> </td></tr>
+</table>
+<p>If the i/o handle's multiplexer pointer is not null, the multiplexer instance is invoked to implement <code>io_handle::read()</code>, <code>io_handle::write()</code> and <code>io_handle::barrier()</code> by constructing an i/o operation state on the stack, calling <code>.init_io_operation()</code> followed by <code>.flush_inited_io_operations()</code>, and then spinning on <code>.check_io_operation()</code> and <code>.check_for_any_completed_io()</code> with the deadline specified to the original blocking operation.</p>
+<p>If the i/o handle's multiplexer pointer is null, <code>io_handle::read()</code>, <code>io_handle::write()</code> and <code>io_handle::barrier()</code> all use virtually overridable implementations. The default implementations emulate blocking semantics using the kernel's i/o poll function (literally <code>poll()</code> on POSIX, <code>NtWaitForSingleObject()</code> on Windows) to sleep the thread until at least one byte of i/o occurs, or the deadline specified is exceeded. This, obviously enough, can double the number of kernel syscalls done per i/o, so using handles with the <code>handle::flag::multiplexable</code> flag set is not wise unless you really need non-infinite deadline i/o. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="ace3fed6888ea1b5b6f1f641e2cf7cd26"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace3fed6888ea1b5b6f1f641e2cf7cd26">&#9670;&nbsp;</a></span>barrier_kind</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">llfio_v2_xxx::io_multiplexer::barrier_kind</a> : uint8_t</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The kinds of write reordering barrier which can be performed. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c"></a>nowait_view_only&#160;</td><td class="fielddoc"><p>Barrier mapped data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c"></a>wait_view_only&#160;</td><td class="fielddoc"><p>Barrier mapped data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; : uint8_t</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; nowait_view_only, <span class="comment">//!&lt; Barrier mapped data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> wait_view_only, <span class="comment">//!&lt; Barrier mapped data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00a85eec5a41f7edb2c574d40cf04535">&#9670;&nbsp;</a></span>current_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::handle::current_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a04d99f9603d31c674aaf865d58abc4d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a04d99f9603d31c674aaf865d58abc4d6">&#9670;&nbsp;</a></span>do_io_handle_register()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;uint8_t&gt; llfio_v2_xxx::io_multiplexer::do_io_handle_register </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Implements <code>io_handle</code> registration. The bottom two bits of the returned value are set into <code>_v.behaviour</code>'s <code>_multiplexer_state_bit0</code> and <code>_multiplexer_state_bit</code> </p>
+<div class="fragment"><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;{ <span class="keywordflow">return</span> (uint8_t) 0; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aea43917ff5cc28f3da3c622c0b3382c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea43917ff5cc28f3da3c622c0b3382c4">&#9670;&nbsp;</a></span>handle() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::handle::handle</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
+<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;{} <span class="comment">// NOLINT</span></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a798fa51a935da9b16ed7bb565b3a4c11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a798fa51a935da9b16ed7bb565b3a4c11">&#9670;&nbsp;</a></span>handle() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::handle::handle</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">delete</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
+
+</div>
+</div>
+<a id="a6ce55ea40b3a0c313f3cb34bb59750f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ce55ea40b3a0c313f3cb34bb59750f0">&#9670;&nbsp;</a></span>handle() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::handle::handle</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
+<div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; : _v(std::move(o._v))</div>
+<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; , _flags(o._flags)</div>
+<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
+<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; o._v = native_handle_type();</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; o._flags = flag::none;</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ad7912947fb8fe6270535eb6bddba50d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad7912947fb8fe6270535eb6bddba50d4">&#9670;&nbsp;</a></span>handle() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::handle::handle</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
+<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; : _v(std::move(h))</div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; , _flags(<a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>)</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; _set_caching(_v, caching);</div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::handle::set_append_only </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>enable</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Changes whether this handle is append only or not. </p>
+<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1io__multiplexer.js b/classllfio__v2__xxx_1_1io__multiplexer.js
new file mode 100644
index 00000000..3ff18407
--- /dev/null
+++ b/classllfio__v2__xxx_1_1io__multiplexer.js
@@ -0,0 +1,92 @@
+var classllfio__v2__xxx_1_1io__multiplexer =
+[
+ [ "_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type" ],
+ [ "_synchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state" ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state" ],
+ [ "awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable" ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type" ],
+ [ "check_for_any_completed_io_statistics", "structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics" ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type" ],
+ [ "io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state" ],
+ [ "io_operation_state_visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor" ],
+ [ "io_request", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request" ],
+ [ "io_result", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result" ],
+ [ "buffers_type", "classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354", null ],
+ [ "caching", "classllfio__v2__xxx_1_1io__multiplexer.html#a9a5833588ff0afa615396ab540cd04ce", null ],
+ [ "const_buffers_type", "classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051", null ],
+ [ "creation", "classllfio__v2__xxx_1_1io__multiplexer.html#ae1186f1839592b04df0ff3e83a237ad6", null ],
+ [ "extent_type", "classllfio__v2__xxx_1_1io__multiplexer.html#a768e40bcc76ee49752a8228a5806ecd3", null ],
+ [ "flag", "classllfio__v2__xxx_1_1io__multiplexer.html#a65c43477b8f59dbf9306c28d07bbeccd", null ],
+ [ "mode", "classllfio__v2__xxx_1_1io__multiplexer.html#a7a706dea29b89267219c6e44ac18ecbe", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1io__multiplexer.html#a346290c369da8294d0c516c1c57b01e6", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1io__multiplexer.html#a58197ed3d18b980f4edda260c0776848", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26", [
+ [ "nowait_view_only", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c", null ],
+ [ "wait_view_only", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c", null ],
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345", null ]
+ ] ],
+ [ "io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html#a673284f5df893f1adb8bda36dd805eb2", null ],
+ [ "io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html#a341cfbdcd8bda7a78a5cb5fa31a28977", null ],
+ [ "io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html#ad86991607675e67ba483f11eacce48cf", null ],
+ [ "~io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html#abf6c0f99690bf8b5f2159e53e8ce0e5a", null ],
+ [ "are_reads_from_cache", "classllfio__v2__xxx_1_1io__multiplexer.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
+ [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1io__multiplexer.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
+ [ "are_writes_durable", "classllfio__v2__xxx_1_1io__multiplexer.html#a8036792f332459064172d7b0cfaee3cf", null ],
+ [ "cancel_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff", null ],
+ [ "check_for_any_completed_io", "classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95", null ],
+ [ "check_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39", null ],
+ [ "clone", "classllfio__v2__xxx_1_1io__multiplexer.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "close", "classllfio__v2__xxx_1_1io__multiplexer.html#a62a75b1a4a24fbc9ad2e98a641167db6", null ],
+ [ "construct", "classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3", null ],
+ [ "construct", "classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029", null ],
+ [ "construct", "classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970", null ],
+ [ "construct_and_init_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c", null ],
+ [ "construct_and_init_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2", null ],
+ [ "construct_and_init_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d", null ],
+ [ "current_path", "classllfio__v2__xxx_1_1io__multiplexer.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "do_io_handle_allocate_registered_buffer", "classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10", null ],
+ [ "do_io_handle_deregister", "classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087", null ],
+ [ "do_io_handle_max_buffers", "classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c", null ],
+ [ "do_io_handle_register", "classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6", null ],
+ [ "flags", "classllfio__v2__xxx_1_1io__multiplexer.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "flush_inited_io_operations", "classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484", null ],
+ [ "handle", "classllfio__v2__xxx_1_1io__multiplexer.html#aea43917ff5cc28f3da3c622c0b3382c4", null ],
+ [ "handle", "classllfio__v2__xxx_1_1io__multiplexer.html#a798fa51a935da9b16ed7bb565b3a4c11", null ],
+ [ "handle", "classllfio__v2__xxx_1_1io__multiplexer.html#a6ce55ea40b3a0c313f3cb34bb59750f0", null ],
+ [ "handle", "classllfio__v2__xxx_1_1io__multiplexer.html#ad7912947fb8fe6270535eb6bddba50d4", null ],
+ [ "init_io_operation", "classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18", null ],
+ [ "io_state_requirements", "classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1io__multiplexer.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
+ [ "is_append_only", "classllfio__v2__xxx_1_1io__multiplexer.html#ac3aa3dc009822c0e437f317864534feb", null ],
+ [ "is_directory", "classllfio__v2__xxx_1_1io__multiplexer.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1io__multiplexer.html#ade2416b9154d1e56937c99cd514324f8", null ],
+ [ "is_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1io__multiplexer.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1io__multiplexer.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
+ [ "is_process", "classllfio__v2__xxx_1_1io__multiplexer.html#ade0d0e05b844e77f425669da87bf48bb", null ],
+ [ "is_readable", "classllfio__v2__xxx_1_1io__multiplexer.html#a97e0884c27147b4929be98961b8e9254", null ],
+ [ "is_regular", "classllfio__v2__xxx_1_1io__multiplexer.html#a7751fbb4b1aff527f469412ea33116ed", null ],
+ [ "is_section", "classllfio__v2__xxx_1_1io__multiplexer.html#a354c9168af7759f7151a071c1e1b7b19", null ],
+ [ "is_seekable", "classllfio__v2__xxx_1_1io__multiplexer.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1io__multiplexer.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
+ [ "is_symlink", "classllfio__v2__xxx_1_1io__multiplexer.html#ae0d5de068f71628e9491c5669f89dca0", null ],
+ [ "is_valid", "classllfio__v2__xxx_1_1io__multiplexer.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
+ [ "is_writable", "classllfio__v2__xxx_1_1io__multiplexer.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
+ [ "kernel_caching", "classllfio__v2__xxx_1_1io__multiplexer.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "native_handle", "classllfio__v2__xxx_1_1io__multiplexer.html#a942b0d276c9f20fe41baab679b88fe72", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1io__multiplexer.html#ac0ca2e5eed9d06d2647dd0d2367f820c", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1io__multiplexer.html#ab5fe3c6f6ff89dd13901aa756af8886b", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1io__multiplexer.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1io__multiplexer.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
+ [ "release", "classllfio__v2__xxx_1_1io__multiplexer.html#a1d273e38c061eb11f5012f624e9a202e", null ],
+ [ "requires_aligned_io", "classllfio__v2__xxx_1_1io__multiplexer.html#a751e912d8dab755ea969a418c1d544eb", null ],
+ [ "set_append_only", "classllfio__v2__xxx_1_1io__multiplexer.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "swap", "classllfio__v2__xxx_1_1io__multiplexer.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "wake_check_for_any_completed_io", "classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5", null ],
+ [ "_flags", "classllfio__v2__xxx_1_1io__multiplexer.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
+ [ "_v", "classllfio__v2__xxx_1_1io__multiplexer.html#a1d6911771ac743fd9d64063c12429deb", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1io__multiplexer.png b/classllfio__v2__xxx_1_1io__multiplexer.png
new file mode 100644
index 00000000..5d1b02de
--- /dev/null
+++ b/classllfio__v2__xxx_1_1io__multiplexer.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1io__service-members.html b/classllfio__v2__xxx_1_1io__service-members.html
deleted file mode 100644
index 0cfb7d14..00000000
--- a/classllfio__v2__xxx_1_1io__service-members.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__service.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_service Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>, including all inherited members.</p>
-<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>__post_done</b>(post_info *pi) (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_post_done</b>(post_info *pi) (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_work_done</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_work_enqueued</b>(size_type i=1) (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>async_file_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8">buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe">const_buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d">disable_kqueues</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">extent_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914">interruption_signal</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e">io_request</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e">io_result</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">io_service</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>io_service</b>(io_service &amp;&amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_service</b>(const io_service &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(io_service &amp;&amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const io_service &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565">post</a>(U &amp;&amp;f)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">run_until</a>(deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195">set_interruption_signal</a>(int signo=LLFIO_IO_POST_SIGNAL)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb">using_kqueues</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_service</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-</table></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1io__service.html b/classllfio__v2__xxx_1_1io__service.html
deleted file mode 100644
index 8e71aa64..00000000
--- a/classllfio__v2__xxx_1_1io__service.html
+++ /dev/null
@@ -1,386 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_service Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__service.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#nested-classes">Classes</a> &#124;
-<a href="#pub-types">Public Types</a> &#124;
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
-<a href="#friends">Friends</a> &#124;
-<a href="classllfio__v2__xxx_1_1io__service-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_service Class Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>An asynchronous i/o multiplexer service.
- <a href="classllfio__v2__xxx_1_1io__service.html#details">More...</a></p>
-
-<p><code>#include &quot;io_service.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
-Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">awaitable_post_to_self</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:afa88ed41bd1ff94b78a4667e1befb76a"><td class="memItemLeft" align="right" valign="top"><a id="afa88ed41bd1ff94b78a4667e1befb76a"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">extent_type</a> = io_handle::extent_type</td></tr>
-<tr class="memdesc:afa88ed41bd1ff94b78a4667e1befb76a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The file extent type used by this i/o service. <br /></td></tr>
-<tr class="separator:afa88ed41bd1ff94b78a4667e1befb76a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af156201cfa97bea20529bde7a67db405"><td class="memItemLeft" align="right" valign="top"><a id="af156201cfa97bea20529bde7a67db405"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405">size_type</a> = io_handle::size_type</td></tr>
-<tr class="memdesc:af156201cfa97bea20529bde7a67db405"><td class="mdescLeft">&#160;</td><td class="mdescRight">The memory extent type used by this i/o service. <br /></td></tr>
-<tr class="separator:af156201cfa97bea20529bde7a67db405"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f63a89a90f60ad8076dcaedb23c17d8"><td class="memItemLeft" align="right" valign="top"><a id="a6f63a89a90f60ad8076dcaedb23c17d8"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8">buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
-<tr class="memdesc:a6f63a89a90f60ad8076dcaedb23c17d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scatter buffer type used by this i/o service. <br /></td></tr>
-<tr class="separator:a6f63a89a90f60ad8076dcaedb23c17d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46ae106f20af58f24d11cbfc099b874a"><td class="memItemLeft" align="right" valign="top"><a id="a46ae106f20af58f24d11cbfc099b874a"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
-<tr class="memdesc:a46ae106f20af58f24d11cbfc099b874a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The gather buffer type used by this i/o service. <br /></td></tr>
-<tr class="separator:a46ae106f20af58f24d11cbfc099b874a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac50a0165e9e9093d859a7a57422bc93a"><td class="memItemLeft" align="right" valign="top"><a id="ac50a0165e9e9093d859a7a57422bc93a"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a">buffers_type</a> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
-<tr class="memdesc:ac50a0165e9e9093d859a7a57422bc93a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scatter buffers type used by this i/o service. <br /></td></tr>
-<tr class="separator:ac50a0165e9e9093d859a7a57422bc93a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2710d9a96e0aded48977f224b46f14fe"><td class="memItemLeft" align="right" valign="top"><a id="a2710d9a96e0aded48977f224b46f14fe"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe">const_buffers_type</a> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
-<tr class="memdesc:a2710d9a96e0aded48977f224b46f14fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">The gather buffers type used by this i/o service. <br /></td></tr>
-<tr class="separator:a2710d9a96e0aded48977f224b46f14fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ea83f90b912f0a776aa0a4e657db78e"><td class="memTemplParams" colspan="2"><a id="a0ea83f90b912f0a776aa0a4e657db78e"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:a0ea83f90b912f0a776aa0a4e657db78e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e">io_request</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
-<tr class="memdesc:a0ea83f90b912f0a776aa0a4e657db78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this i/o service. <br /></td></tr>
-<tr class="separator:a0ea83f90b912f0a776aa0a4e657db78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7db8542d0bb76eb78a40adb48cf9f96e"><td class="memTemplParams" colspan="2"><a id="a7db8542d0bb76eb78a40adb48cf9f96e"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:a7db8542d0bb76eb78a40adb48cf9f96e"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e">io_result</a> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
-<tr class="memdesc:a7db8542d0bb76eb78a40adb48cf9f96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this i/o service. <br /></td></tr>
-<tr class="separator:a7db8542d0bb76eb78a40adb48cf9f96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a0b81486e5e967201edc296b102f369c5"><td class="memItemLeft" align="right" valign="top"><a id="a0b81486e5e967201edc296b102f369c5"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>__post_done</b> (post_info *pi)</td></tr>
-<tr class="separator:a0b81486e5e967201edc296b102f369c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e1ce022fbbc99e4ee205abe812f3cdc"><td class="memItemLeft" align="right" valign="top"><a id="a6e1ce022fbbc99e4ee205abe812f3cdc"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>_post_done</b> (post_info *pi)</td></tr>
-<tr class="separator:a6e1ce022fbbc99e4ee205abe812f3cdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6fefd8a0aa3141f9883e1f0b0434ee2e"><td class="memItemLeft" align="right" valign="top"><a id="a6fefd8a0aa3141f9883e1f0b0434ee2e"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>_work_enqueued</b> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405">size_type</a> i=1)</td></tr>
-<tr class="separator:a6fefd8a0aa3141f9883e1f0b0434ee2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a60bcd5c5ef80239131759e159b19b902"><td class="memItemLeft" align="right" valign="top"><a id="a60bcd5c5ef80239131759e159b19b902"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>_work_done</b> ()</td></tr>
-<tr class="separator:a60bcd5c5ef80239131759e159b19b902"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6a00c11cd49640dffc2bae95f13b6835"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">io_service</a> ()</td></tr>
-<tr class="separator:a6a00c11cd49640dffc2bae95f13b6835"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a6eef79a26e1cd3596c3843c06569c"><td class="memItemLeft" align="right" valign="top"><a id="a16a6eef79a26e1cd3596c3843c06569c"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&amp;)=delete</td></tr>
-<tr class="separator:a16a6eef79a26e1cd3596c3843c06569c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a831051198c060b368b432f6cbded01fe"><td class="memItemLeft" align="right" valign="top"><a id="a831051198c060b368b432f6cbded01fe"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b> (const <a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;)=delete</td></tr>
-<tr class="separator:a831051198c060b368b432f6cbded01fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2c620e39d24645bd5537587e4115a0ce"><td class="memItemLeft" align="right" valign="top"><a id="a2c620e39d24645bd5537587e4115a0ce"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&amp;)=delete</td></tr>
-<tr class="separator:a2c620e39d24645bd5537587e4115a0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26687077915f582a7c6473e8342c1df0"><td class="memItemLeft" align="right" valign="top"><a id="a26687077915f582a7c6473e8342c1df0"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;)=delete</td></tr>
-<tr class="separator:a26687077915f582a7c6473e8342c1df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac4c9dfee053976f4dca0b91cd98caabb"><td class="memItemLeft" align="right" valign="top"><a id="ac4c9dfee053976f4dca0b91cd98caabb"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb">using_kqueues</a> () const noexcept</td></tr>
-<tr class="memdesc:ac4c9dfee053976f4dca0b91cd98caabb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if this i/o service is using BSD kqueues. <br /></td></tr>
-<tr class="separator:ac4c9dfee053976f4dca0b91cd98caabb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee0e77242d19c62eb68d3bef68e9ea0d"><td class="memItemLeft" align="right" valign="top"><a id="aee0e77242d19c62eb68d3bef68e9ea0d"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d">disable_kqueues</a> ()</td></tr>
-<tr class="memdesc:aee0e77242d19c62eb68d3bef68e9ea0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force disable any use of BSD kqueues. <br /></td></tr>
-<tr class="separator:aee0e77242d19c62eb68d3bef68e9ea0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a528acb1c8ec8caa06fc084962f974106"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">run_until</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
-<tr class="separator:a528acb1c8ec8caa06fc084962f974106"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5719f4f0779047c202d7fb3cda0dcc28"><td class="memItemLeft" align="right" valign="top">result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a> () noexcept</td></tr>
-<tr class="separator:a5719f4f0779047c202d7fb3cda0dcc28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2666a65a3c6453bc9845261ef684565"><td class="memTemplParams" colspan="2">template&lt;class U &gt; </td></tr>
-<tr class="memitem:ac2666a65a3c6453bc9845261ef684565"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565">post</a> (U &amp;&amp;f)</td></tr>
-<tr class="separator:ac2666a65a3c6453bc9845261ef684565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
-Static Public Member Functions</h2></td></tr>
-<tr class="memitem:af8573e0ad8a91f3778867c710f30a914"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914">interruption_signal</a> () noexcept</td></tr>
-<tr class="separator:af8573e0ad8a91f3778867c710f30a914"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeacd8d21f956903c204ee49c0d3ab195"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195">set_interruption_signal</a> (int signo=<a class="el" href="io__service_8hpp.html#af5cfb661784f372559747708772b9106">LLFIO_IO_POST_SIGNAL</a>)</td></tr>
-<tr class="separator:aeacd8d21f956903c204ee49c0d3ab195"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
-Friends</h2></td></tr>
-<tr class="memitem:ae39e3934b1eb85ac91f1993c8886d888"><td class="memItemLeft" align="right" valign="top"><a id="ae39e3934b1eb85ac91f1993c8886d888"></a>
-class&#160;</td><td class="memItemRight" valign="bottom"><b>async_file_handle</b></td></tr>
-<tr class="separator:ae39e3934b1eb85ac91f1993c8886d888"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>An asynchronous i/o multiplexer service. </p>
-<p>This service is used in conjunction with <code>async_file_handle</code> to multiplex initating i/o and completing it onto a single kernel thread. Unlike the <code>io_service</code> in ASIO or the Networking TS, this <code>io_service</code> is much simpler, in particular it is single threaded per instance only i.e. you must run a separate <code>io_service</code> instance one per kernel thread if you wish to run i/o processing across multiple threads. LLFIO does not do this for you (and for good reason, unlike socket i/o, it is generally unwise to distribute file i/o across kernel threads due to the much more code executable between user space and physical storage i.e. keeping processing per CPU core hot in cache delivers outsize benefits compared to socket i/o).</p>
-<p>Furthermore, you cannot use this i/o service in any way from any thread other than where it was created. You cannot call its <code>run()</code> from any thread other than where it was created. And you cannot initiate i/o on an <code>async_file_handle</code> from any thread other than where its owning i/o service was created.</p>
-<p>In other words, keep your i/o service and all associated file handles on their owning thread. The sole function you can call from another thread is <code>post()</code> which lets you execute some callback in the <code>run()</code> of the owning thread. This lets you schedule i/o from other threads if you really must do that.</p>
-<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> service;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> (void) h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; llfio::eager&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;llfio::eager&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div></div><!-- fragment --></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a6a00c11cd49640dffc2bae95f13b6835"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6a00c11cd49640dffc2bae95f13b6835">&#9670;&nbsp;</a></span>io_service()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">llfio_v2_xxx::io_service::io_service </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Creates an i/o service for the calling thread, installing a global signal handler via set_interruption_signal() if not yet installed if on POSIX and BSD kqueues not in use. </p>
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="af8573e0ad8a91f3778867c710f30a914"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af8573e0ad8a91f3778867c710f30a914">&#9670;&nbsp;</a></span>interruption_signal()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static int llfio_v2_xxx::io_service::interruption_signal </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Returns the signal used for interrupting run_until(). Only used on POSIX when BSD kqueues are not used. Defaults to LLFIO_IO_POST_SIGNAL on platforms which use it.</p>
-<dl class="section note"><dt>Note</dt><dd>Only present if LLFIO_IO_POST_SIGNAL is defined. </dd></dl>
-
-</div>
-</div>
-<a id="ac2666a65a3c6453bc9845261ef684565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac2666a65a3c6453bc9845261ef684565">&#9670;&nbsp;</a></span>post()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class U &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void llfio_v2_xxx::io_service::post </td>
- <td>(</td>
- <td class="paramtype">U &amp;&amp;&#160;</td>
- <td class="paramname"><em>f</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Schedule the callable to be invoked by the thread owning this object and executing <code>run()</code> at its next available opportunity. Unlike any other function in this API layer, this function is thread safe. </p>
-<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{ _post(detail::make_function_ptr&lt;<span class="keywordtype">void</span>(<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">io_service</a> *)&gt;(std::forward&lt;U&gt;(f))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a6a00c11cd49640dffc2bae95f13b6835"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">llfio_v2_xxx::io_service::io_service</a></div><div class="ttdeci">io_service()</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a5719f4f0779047c202d7fb3cda0dcc28"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5719f4f0779047c202d7fb3cda0dcc28">&#9670;&nbsp;</a></span>run()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;bool&gt; llfio_v2_xxx::io_service::run </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">run_until</a>(deadline()); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a528acb1c8ec8caa06fc084962f974106"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">llfio_v2_xxx::io_service::run_until</a></div><div class="ttdeci">virtual result&lt; bool &gt; run_until(deadline d) noexcept</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a528acb1c8ec8caa06fc084962f974106"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a528acb1c8ec8caa06fc084962f974106">&#9670;&nbsp;</a></span>run_until()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::io_service::run_until </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Runs the i/o service for the thread owning this i/o service. Returns true if more work remains and we just handled an i/o or post; false if there is no more work; <code>errc::timed_out</code> if the deadline passed; <code>errc::operation_not_supported</code> if you try to call it from a non-owning thread; <code>errc::invalid_argument</code> if deadline is invalid. </p>
-
-</div>
-</div>
-<a id="aeacd8d21f956903c204ee49c0d3ab195"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeacd8d21f956903c204ee49c0d3ab195">&#9670;&nbsp;</a></span>set_interruption_signal()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static int llfio_v2_xxx::io_service::set_interruption_signal </td>
- <td>(</td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>signo</em> = <code><a class="el" href="io__service_8hpp.html#af5cfb661784f372559747708772b9106">LLFIO_IO_POST_SIGNAL</a></code></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Sets the signal used for interrupting run_until(), returning the former signal setting. Only used on POSIX when BSD kqueues are not used. Special values are 0 for deinstall global signal handler, and -1 for install to first unused signal between SIGRTMIN and SIGRTMAX. Changing this while any io_service instances exist is a bad idea.</p>
-<dl class="section note"><dt>Note</dt><dd>Only present if LLFIO_IO_POST_SIGNAL is defined. </dd></dl>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__service_8hpp.html">io_service.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/classllfio__v2__xxx_1_1io__service.js b/classllfio__v2__xxx_1_1io__service.js
deleted file mode 100644
index 221d0b05..00000000
--- a/classllfio__v2__xxx_1_1io__service.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var classllfio__v2__xxx_1_1io__service =
-[
- [ "awaitable_post_to_self", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self" ],
- [ "buffer_type", "classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8", null ],
- [ "buffers_type", "classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a", null ],
- [ "const_buffer_type", "classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a", null ],
- [ "const_buffers_type", "classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe", null ],
- [ "extent_type", "classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a", null ],
- [ "io_request", "classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e", null ],
- [ "io_result", "classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e", null ],
- [ "size_type", "classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405", null ],
- [ "io_service", "classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835", null ],
- [ "io_service", "classllfio__v2__xxx_1_1io__service.html#a16a6eef79a26e1cd3596c3843c06569c", null ],
- [ "io_service", "classllfio__v2__xxx_1_1io__service.html#a831051198c060b368b432f6cbded01fe", null ],
- [ "~io_service", "classllfio__v2__xxx_1_1io__service.html#ac1bf69d2f80beb1a255d181eecb4b11b", null ],
- [ "__post_done", "classllfio__v2__xxx_1_1io__service.html#a0b81486e5e967201edc296b102f369c5", null ],
- [ "_post_done", "classllfio__v2__xxx_1_1io__service.html#a6e1ce022fbbc99e4ee205abe812f3cdc", null ],
- [ "_work_done", "classllfio__v2__xxx_1_1io__service.html#a60bcd5c5ef80239131759e159b19b902", null ],
- [ "_work_enqueued", "classllfio__v2__xxx_1_1io__service.html#a6fefd8a0aa3141f9883e1f0b0434ee2e", null ],
- [ "disable_kqueues", "classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d", null ],
- [ "operator=", "classllfio__v2__xxx_1_1io__service.html#a2c620e39d24645bd5537587e4115a0ce", null ],
- [ "operator=", "classllfio__v2__xxx_1_1io__service.html#a26687077915f582a7c6473e8342c1df0", null ],
- [ "post", "classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565", null ],
- [ "run", "classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28", null ],
- [ "run_until", "classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106", null ],
- [ "using_kqueues", "classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb", null ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1io__service.html#ae39e3934b1eb85ac91f1993c8886d888", null ]
-]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle-members.html b/classllfio__v2__xxx_1_1lockable__io__handle-members.html
new file mode 100644
index 00000000..d1014a6c
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle-members.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1lockable__io__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::lockable_io_handle Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_file_range</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_file_range</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">operator=</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">operator=</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~lockable_io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle.html b/classllfio__v2__xxx_1_1lockable__io__handle.html
new file mode 100644
index 00000000..7ecf8240
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle.html
@@ -0,0 +1,1481 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::lockable_io_handle Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1lockable__io__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classllfio__v2__xxx_1_1lockable__io__handle-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::lockable_io_handle Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread.
+ <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#details">More...</a></p>
+
+<p><code>#include &quot;lockable_io_handle.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::lockable_io_handle:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1lockable__io__handle.png" usemap="#llfio_5Fv2_5Fxxx::lockable_5Fio_5Fhandle_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::lockable_5Fio_5Fhandle_map" name="llfio_5Fv2_5Fxxx::lockable_5Fio_5Fhandle_map">
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="232,56,454,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="232,0,454,24"/>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="116,168,338,192"/>
+<area href="classllfio__v2__xxx_1_1map__handle.html" title="A handle to a memory mapped region of memory, either backed by the system page file or by a section." alt="llfio_v2_xxx::map_handle" shape="rect" coords="348,168,570,192"/>
+<area href="classllfio__v2__xxx_1_1fast__random__file__handle.html" title="A handle to synthesised, non-cryptographic, pseudo-random data." alt="llfio_v2_xxx::fast_random_file_handle" shape="rect" coords="0,224,222,248"/>
+<area href="classllfio__v2__xxx_1_1mapped__file__handle.html" title="A memory mapped regular file or device." alt="llfio_v2_xxx::mapped_file_handle" shape="rect" coords="232,224,454,248"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: RAII holder a locked extent of bytes in a file. <a href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a79e1ddfc16d4d99a66f8a4781aeca28d"><td class="memItemLeft" align="right" valign="top"><a id="a79e1ddfc16d4d99a66f8a4781aeca28d"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = io_handle::path_type</td></tr>
+<tr class="separator:a79e1ddfc16d4d99a66f8a4781aeca28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e4f645419e6bc0fdc7a98adacd6a55e"><td class="memItemLeft" align="right" valign="top"><a id="a6e4f645419e6bc0fdc7a98adacd6a55e"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = io_handle::extent_type</td></tr>
+<tr class="separator:a6e4f645419e6bc0fdc7a98adacd6a55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac53a00a3f12bd0125122fd6b7ceebe66"><td class="memItemLeft" align="right" valign="top"><a id="ac53a00a3f12bd0125122fd6b7ceebe66"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = io_handle::size_type</td></tr>
+<tr class="separator:ac53a00a3f12bd0125122fd6b7ceebe66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1985e0db6ebc628bb95e04929aa31734"><td class="memItemLeft" align="right" valign="top"><a id="a1985e0db6ebc628bb95e04929aa31734"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">io_handle::mode</a></td></tr>
+<tr class="separator:a1985e0db6ebc628bb95e04929aa31734"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9992932579bf0c1a0baec461ba06421b"><td class="memItemLeft" align="right" valign="top"><a id="a9992932579bf0c1a0baec461ba06421b"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">io_handle::creation</a></td></tr>
+<tr class="separator:a9992932579bf0c1a0baec461ba06421b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14e7629c39894341f4347d7d2ba963e2"><td class="memItemLeft" align="right" valign="top"><a id="a14e7629c39894341f4347d7d2ba963e2"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">io_handle::caching</a></td></tr>
+<tr class="separator:a14e7629c39894341f4347d7d2ba963e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b03587e739bdd91a0f0c2d1ea7d2759"><td class="memItemLeft" align="right" valign="top"><a id="a6b03587e739bdd91a0f0c2d1ea7d2759"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
+<tr class="separator:a6b03587e739bdd91a0f0c2d1ea7d2759"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa225fc493078b94b592c4e740367c0ac"><td class="memItemLeft" align="right" valign="top"><a id="aa225fc493078b94b592c4e740367c0ac"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+<tr class="separator:aa225fc493078b94b592c4e740367c0ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36cbd5b657917feeaaf85d8d3d0defb8"><td class="memItemLeft" align="right" valign="top"><a id="a36cbd5b657917feeaaf85d8d3d0defb8"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+<tr class="separator:a36cbd5b657917feeaaf85d8d3d0defb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ad11a1c8d7eb3fd6e8b86e9b71119b6"><td class="memItemLeft" align="right" valign="top"><a id="a7ad11a1c8d7eb3fd6e8b86e9b71119b6"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
+<tr class="separator:a7ad11a1c8d7eb3fd6e8b86e9b71119b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85be66d50d293a1d18d290f32256d8d2"><td class="memItemLeft" align="right" valign="top"><a id="a85be66d50d293a1d18d290f32256d8d2"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
+<tr class="separator:a85be66d50d293a1d18d290f32256d8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57efa0829192c0cdfccbaf04ff6b4aac"><td class="memTemplParams" colspan="2"><a id="a57efa0829192c0cdfccbaf04ff6b4aac"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a57efa0829192c0cdfccbaf04ff6b4aac"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="separator:a57efa0829192c0cdfccbaf04ff6b4aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad77c47160cd14c10f2732136c22b7205"><td class="memTemplParams" colspan="2"><a id="ad77c47160cd14c10f2732136c22b7205"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ad77c47160cd14c10f2732136c22b7205"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="separator:ad77c47160cd14c10f2732136c22b7205"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4b3e88620e2a244900daf0918bcb8e5b"><td class="memItemLeft" align="right" valign="top"><a id="a4b3e88620e2a244900daf0918bcb8e5b"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a> ()</td></tr>
+<tr class="memdesc:a4b3e88620e2a244900daf0918bcb8e5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a4b3e88620e2a244900daf0918bcb8e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a243d7abf50b2d0116b867f2f35f40daf"><td class="memItemLeft" align="right" valign="top"><a id="a243d7abf50b2d0116b867f2f35f40daf"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:a243d7abf50b2d0116b867f2f35f40daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a243d7abf50b2d0116b867f2f35f40daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaeece0019d17116a8ca2a917c7d616bb"><td class="memItemLeft" align="right" valign="top"><a id="aaeece0019d17116a8ca2a917c7d616bb"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:aaeece0019d17116a8ca2a917c7d616bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from <code>handle</code> permitted. <br /></td></tr>
+<tr class="separator:aaeece0019d17116a8ca2a917c7d616bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a052a5ff696cfbed2e9217f2bd66398e4"><td class="memItemLeft" align="right" valign="top"><a id="a052a5ff696cfbed2e9217f2bd66398e4"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a052a5ff696cfbed2e9217f2bd66398e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from <code>io_handle</code> permitted. <br /></td></tr>
+<tr class="separator:a052a5ff696cfbed2e9217f2bd66398e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a518612e4231c17a80e8257c800658c8f"><td class="memItemLeft" align="right" valign="top"><a id="a518612e4231c17a80e8257c800658c8f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;&amp;)=default</td></tr>
+<tr class="memdesc:a518612e4231c17a80e8257c800658c8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move construction permitted. <br /></td></tr>
+<tr class="separator:a518612e4231c17a80e8257c800658c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad408649b1b1cb36adffa9c554f26ea6e"><td class="memItemLeft" align="right" valign="top"><a id="ad408649b1b1cb36adffa9c554f26ea6e"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;)=delete</td></tr>
+<tr class="memdesc:ad408649b1b1cb36adffa9c554f26ea6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use <code>clone()</code>) <br /></td></tr>
+<tr class="separator:ad408649b1b1cb36adffa9c554f26ea6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46197b92fa6bd143f42e2df1b21c99c4"><td class="memItemLeft" align="right" valign="top"><a id="a46197b92fa6bd143f42e2df1b21c99c4"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;&amp;)=default</td></tr>
+<tr class="memdesc:a46197b92fa6bd143f42e2df1b21c99c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment permitted. <br /></td></tr>
+<tr class="separator:a46197b92fa6bd143f42e2df1b21c99c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a892657b45719cc06869c4c9276759b31"><td class="memItemLeft" align="right" valign="top"><a id="a892657b45719cc06869c4c9276759b31"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">operator=</a> (const <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;)=delete</td></tr>
+<tr class="memdesc:a892657b45719cc06869c4c9276759b31"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy assignment. <br /></td></tr>
+<tr class="separator:a892657b45719cc06869c4c9276759b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a469019e3bbcd7b37499b8604af713b40"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a469019e3bbcd7b37499b8604af713b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for exclusive access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">More...</a><br /></td></tr>
+<tr class="separator:a469019e3bbcd7b37499b8604af713b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">More...</a><br /></td></tr>
+<tr class="separator:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a561ef83b4fe400b59c9d92444913c180"><td class="memItemLeft" align="right" valign="top"><a id="a561ef83b4fe400b59c9d92444913c180"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a561ef83b4fe400b59c9d92444913c180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired exclusive lock. <br /></td></tr>
+<tr class="separator:a561ef83b4fe400b59c9d92444913c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa24a432125e5b51b13f21d9b74fa4721"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa24a432125e5b51b13f21d9b74fa4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for shared access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">More...</a><br /></td></tr>
+<tr class="separator:aa24a432125e5b51b13f21d9b74fa4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8e3d809cb954d99e228ee756bac1c64"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:ad8e3d809cb954d99e228ee756bac1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">More...</a><br /></td></tr>
+<tr class="separator:ad8e3d809cb954d99e228ee756bac1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memItemLeft" align="right" valign="top"><a id="afc5ba16c0377a56b7e1a66a9c6d0a703"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired shared lock. <br /></td></tr>
+<tr class="separator:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">More...</a><br /></td></tr>
+<tr class="separator:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9582b139a2b92ff13708a4de547c5605"><td class="memItemLeft" align="right" valign="top"><a id="a9582b139a2b92ff13708a4de547c5605"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a9582b139a2b92ff13708a4de547c5605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memItemLeft" align="right" valign="top"><a id="aa87c3e22aa12084cb48fb29c5b10c78d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplParams" colspan="2"><a id="a393d056936c3f262aff76ed406858a95"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a393d056936c3f262aff76ed406858a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplParams" colspan="2"><a id="ae3b16c444914200a7e5ab3cd0ba2d002"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplParams" colspan="2"><a id="a7727a23852d90bd5ea4e47044d20cfee"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a7727a23852d90bd5ea4e47044d20cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes) noexcept</td></tr>
+<tr class="memdesc:a5572735777dfdd3f7c5c1f6dc8260287"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">More...</a><br /></td></tr>
+<tr class="separator:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f174dc8dd23664251ee2a4f767283c2"><td class="memItemLeft" align="right" valign="top"><a id="a8f174dc8dd23664251ee2a4f767283c2"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">close</a> () noexcept override</td></tr>
+<tr class="memdesc:a8f174dc8dd23664251ee2a4f767283c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a8f174dc8dd23664251ee2a4f767283c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
+<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
+<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
+<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
+<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
+<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
+<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
+<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
+<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
+<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
+<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
+<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
+<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
+<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
+<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
+<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
+<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
+<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
+<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
+<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
+<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
+<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
+<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
+<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
+<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
+<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
+<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
+<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
+<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
+<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
+<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
+<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
+<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
+<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
+<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
+<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memItemLeft" align="right" valign="top"><a id="ae5ec845b3e2c2e31c2dc3de1d276a7e3"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4379e3f84b913f606bb2ec6a194d4380"><td class="memItemLeft" align="right" valign="top"><a id="a4379e3f84b913f606bb2ec6a194d4380"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a4379e3f84b913f606bb2ec6a194d4380"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a4379e3f84b913f606bb2ec6a194d4380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memItemLeft" align="right" valign="top"><a id="a2102f73a4872e8fd8bbe1c71ef82c97f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memItemLeft" align="right" valign="top"><a id="a0f1d67fa1ad7f0d0b1256b6138929d60"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
+<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread. </p>
+<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows, we lock the maximum possible byte <code>(2^64-1)</code> as the closest available emulation of advisory whole-file locking. This causes byte range locks to work (probably) independently of these locks. </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00a85eec5a41f7edb2c574d40cf04535">&#9670;&nbsp;</a></span>current_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::handle::current_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a469019e3bbcd7b37499b8604af713b40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a469019e3bbcd7b37499b8604af713b40">&#9670;&nbsp;</a></span>lock_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Locks the inode referred to by the open handle for exclusive access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a0ece4f0a48e1e67debc438a9742a1f4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ece4f0a48e1e67debc438a9742a1f4c">&#9670;&nbsp;</a></span>lock_file_range()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::lockable_io_handle::lock_file_range </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. </p>
+<p>Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform:</p>
+<ul>
+<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
+<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
+</ul>
+<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to lock. Setting this and the offset to zero causes the whole file to be locked. </td></tr>
+ <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return, errc::timed_out, errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
+</div>
+</div>
+<a id="aa24a432125e5b51b13f21d9b74fa4721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa24a432125e5b51b13f21d9b74fa4721">&#9670;&nbsp;</a></span>lock_file_shared()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file_shared </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Locks the inode referred to by the open handle for shared access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
+<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::handle::set_append_only </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>enable</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Changes whether this handle is append only or not. </p>
+<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6e6a25ad5d9efd45e69d22e70a754a9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6a25ad5d9efd45e69d22e70a754a9e">&#9670;&nbsp;</a></span>try_lock_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="ad8e3d809cb954d99e228ee756bac1c64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8e3d809cb954d99e228ee756bac1c64">&#9670;&nbsp;</a></span>try_lock_file_shared()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file_shared </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a5572735777dfdd3f7c5c1f6dc8260287"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5572735777dfdd3f7c5c1f6dc8260287">&#9670;&nbsp;</a></span>unlock_file_range()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void llfio_v2_xxx::lockable_io_handle::unlock_file_range </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Unlocks a byte range previously locked. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
+</div>
+</div>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle.js b/classllfio__v2__xxx_1_1lockable__io__handle.js
new file mode 100644
index 00000000..f5ec43e5
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle.js
@@ -0,0 +1,112 @@
+var classllfio__v2__xxx_1_1lockable__io__handle =
+[
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard" ],
+ [ "awaitable", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1lockable__io__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
+ [ "buffer_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa225fc493078b94b592c4e740367c0ac", null ],
+ [ "buffers_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a7ad11a1c8d7eb3fd6e8b86e9b71119b6", null ],
+ [ "caching", "classllfio__v2__xxx_1_1lockable__io__handle.html#a14e7629c39894341f4347d7d2ba963e2", null ],
+ [ "const_buffer_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a36cbd5b657917feeaaf85d8d3d0defb8", null ],
+ [ "const_buffers_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a85be66d50d293a1d18d290f32256d8d2", null ],
+ [ "creation", "classllfio__v2__xxx_1_1lockable__io__handle.html#a9992932579bf0c1a0baec461ba06421b", null ],
+ [ "extent_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a6e4f645419e6bc0fdc7a98adacd6a55e", null ],
+ [ "flag", "classllfio__v2__xxx_1_1lockable__io__handle.html#a6b03587e739bdd91a0f0c2d1ea7d2759", null ],
+ [ "io_request", "classllfio__v2__xxx_1_1lockable__io__handle.html#a57efa0829192c0cdfccbaf04ff6b4aac", null ],
+ [ "io_result", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad77c47160cd14c10f2732136c22b7205", null ],
+ [ "mode", "classllfio__v2__xxx_1_1lockable__io__handle.html#a1985e0db6ebc628bb95e04929aa31734", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a79e1ddfc16d4d99a66f8a4781aeca28d", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac53a00a3f12bd0125122fd6b7ceebe66", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b", null ],
+ [ "~lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae1cdbb1cceb45b7a948b1a4bbe6942d4", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a4379e3f84b913f606bb2ec6a194d4380", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1lockable__io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
+ [ "are_reads_from_cache", "classllfio__v2__xxx_1_1lockable__io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
+ [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1lockable__io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
+ [ "are_writes_durable", "classllfio__v2__xxx_1_1lockable__io__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
+ [ "clone", "classllfio__v2__xxx_1_1lockable__io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "close", "classllfio__v2__xxx_1_1lockable__io__handle.html#a8f174dc8dd23664251ee2a4f767283c2", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
+ [ "current_path", "classllfio__v2__xxx_1_1lockable__io__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "flags", "classllfio__v2__xxx_1_1lockable__io__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1lockable__io__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
+ [ "is_append_only", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
+ [ "is_directory", "classllfio__v2__xxx_1_1lockable__io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1lockable__io__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
+ [ "is_multiplexer", "classllfio__v2__xxx_1_1lockable__io__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1lockable__io__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
+ [ "is_process", "classllfio__v2__xxx_1_1lockable__io__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
+ [ "is_readable", "classllfio__v2__xxx_1_1lockable__io__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
+ [ "is_regular", "classllfio__v2__xxx_1_1lockable__io__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
+ [ "is_section", "classllfio__v2__xxx_1_1lockable__io__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
+ [ "is_seekable", "classllfio__v2__xxx_1_1lockable__io__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
+ [ "is_symlink", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
+ [ "is_valid", "classllfio__v2__xxx_1_1lockable__io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
+ [ "is_writable", "classllfio__v2__xxx_1_1lockable__io__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
+ [ "kernel_caching", "classllfio__v2__xxx_1_1lockable__io__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "lock_file", "classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1lockable__io__handle.html#a9582b139a2b92ff13708a4de547c5605", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d", null ],
+ [ "lock_file_shared", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
+ [ "native_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
+ [ "read", "classllfio__v2__xxx_1_1lockable__io__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
+ [ "release", "classllfio__v2__xxx_1_1lockable__io__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
+ [ "requires_aligned_io", "classllfio__v2__xxx_1_1lockable__io__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
+ [ "set_append_only", "classllfio__v2__xxx_1_1lockable__io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1lockable__io__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
+ [ "swap", "classllfio__v2__xxx_1_1lockable__io__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1lockable__io__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1lockable__io__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_lock_file", "classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e", null ],
+ [ "try_lock_file_range", "classllfio__v2__xxx_1_1lockable__io__handle.html#a393d056936c3f262aff76ed406858a95", null ],
+ [ "try_lock_file_range_for", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002", null ],
+ [ "try_lock_file_range_until", "classllfio__v2__xxx_1_1lockable__io__handle.html#a7727a23852d90bd5ea4e47044d20cfee", null ],
+ [ "try_lock_file_shared", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1lockable__io__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1lockable__io__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1lockable__io__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1lockable__io__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1lockable__io__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1lockable__io__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "unlock_file", "classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180", null ],
+ [ "unlock_file_range", "classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287", null ],
+ [ "unlock_file_shared", "classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703", null ],
+ [ "write", "classllfio__v2__xxx_1_1lockable__io__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
+ [ "write", "classllfio__v2__xxx_1_1lockable__io__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1lockable__io__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1lockable__io__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
+ [ "_flags", "classllfio__v2__xxx_1_1lockable__io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
+ [ "_v", "classllfio__v2__xxx_1_1lockable__io__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle.png b/classllfio__v2__xxx_1_1lockable__io__handle.png
new file mode 100644
index 00000000..1f36f5f1
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard-members.html b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard-members.html
new file mode 100644
index 00000000..44c8210c
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard-members.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::lockable_io_handle::extent_guard Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e">extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_guard</b>(lockable_io_handle *h, extent_type offset, extent_type length, lock_kind kind) (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_guard</b>(const extent_guard &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7">extent_guard</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e">extent_guard</a>(extent_guard &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4">handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lockable_io_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const extent_guard &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3">operator=</a>(extent_guard &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04">set_handle</a>(lockable_io_handle *h) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb">unlock</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~extent_guard</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html
new file mode 100644
index 00000000..afe9c832
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::lockable_io_handle::extent_guard Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::lockable_io_handle::extent_guard Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>EXTENSION: RAII holder a locked extent of bytes in a file.
+ <a href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#details">More...</a></p>
+
+<p><code>#include &quot;lockable_io_handle.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a243bbb198c4837fba06620578b5a8cdb"><td class="memItemLeft" align="right" valign="top"><a id="a243bbb198c4837fba06620578b5a8cdb"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>extent_guard</b> (const <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;)=delete</td></tr>
+<tr class="separator:a243bbb198c4837fba06620578b5a8cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a11eb347744e5548b52a170cb76a32ce8"><td class="memItemLeft" align="right" valign="top"><a id="a11eb347744e5548b52a170cb76a32ce8"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;)=delete</td></tr>
+<tr class="separator:a11eb347744e5548b52a170cb76a32ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73f10ce38d7c7980db6ddf50d7ed4ac7"><td class="memItemLeft" align="right" valign="top"><a id="a73f10ce38d7c7980db6ddf50d7ed4ac7"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7">extent_guard</a> ()</td></tr>
+<tr class="memdesc:a73f10ce38d7c7980db6ddf50d7ed4ac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a73f10ce38d7c7980db6ddf50d7ed4ac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af48bf68f88261bbf36354d4572d2c69e"><td class="memItemLeft" align="right" valign="top"><a id="af48bf68f88261bbf36354d4572d2c69e"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e">extent_guard</a> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:af48bf68f88261bbf36354d4572d2c69e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
+<tr class="separator:af48bf68f88261bbf36354d4572d2c69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71adc218ded5e0f89461e437de9b52e3"><td class="memItemLeft" align="right" valign="top"><a id="a71adc218ded5e0f89461e437de9b52e3"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a71adc218ded5e0f89461e437de9b52e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assign. <br /></td></tr>
+<tr class="separator:a71adc218ded5e0f89461e437de9b52e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae22ca4d4bb1824c86a2eca46498ab03f"><td class="memItemLeft" align="right" valign="top"><a id="ae22ca4d4bb1824c86a2eca46498ab03f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f">operator bool</a> () const noexcept</td></tr>
+<tr class="memdesc:ae22ca4d4bb1824c86a2eca46498ab03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if extent guard is valid. <br /></td></tr>
+<tr class="separator:ae22ca4d4bb1824c86a2eca46498ab03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c0a4b841e0f37ffdcb008ad0caa17f4"><td class="memItemLeft" align="right" valign="top"><a id="a1c0a4b841e0f37ffdcb008ad0caa17f4"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4">handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a1c0a4b841e0f37ffdcb008ad0caa17f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>lockable_io_handle</code> to be unlocked. <br /></td></tr>
+<tr class="separator:a1c0a4b841e0f37ffdcb008ad0caa17f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a994ce55f3ec1d97d275cce11beccfd04"><td class="memItemLeft" align="right" valign="top"><a id="a994ce55f3ec1d97d275cce11beccfd04"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04">set_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> *h) noexcept</td></tr>
+<tr class="memdesc:a994ce55f3ec1d97d275cce11beccfd04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the <code>lockable_io_handle</code> to be unlocked. <br /></td></tr>
+<tr class="separator:a994ce55f3ec1d97d275cce11beccfd04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4402da52891bbf8ada0bb7a2efc4f51e"><td class="memItemLeft" align="right" valign="top"><a id="a4402da52891bbf8ada0bb7a2efc4f51e"></a>
+std::tuple&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e">extent</a> () const noexcept</td></tr>
+<tr class="memdesc:a4402da52891bbf8ada0bb7a2efc4f51e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The extent to be unlocked. <br /></td></tr>
+<tr class="separator:a4402da52891bbf8ada0bb7a2efc4f51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeac893321a6eb8f191259b51e1a9a7eb"><td class="memItemLeft" align="right" valign="top"><a id="aeac893321a6eb8f191259b51e1a9a7eb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb">unlock</a> () noexcept</td></tr>
+<tr class="memdesc:aeac893321a6eb8f191259b51e1a9a7eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the locked extent immediately. <br /></td></tr>
+<tr class="separator:aeac893321a6eb8f191259b51e1a9a7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0d4a9c50de6b8da12bb5f5b9aebb981"><td class="memItemLeft" align="right" valign="top"><a id="ab0d4a9c50de6b8da12bb5f5b9aebb981"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981">release</a> () noexcept</td></tr>
+<tr class="memdesc:ab0d4a9c50de6b8da12bb5f5b9aebb981"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach this RAII unlocker from the locked state. <br /></td></tr>
+<tr class="separator:ab0d4a9c50de6b8da12bb5f5b9aebb981"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a835d207be335fb4f449d1b68d8c0260a"><td class="memItemLeft" align="right" valign="top"><a id="a835d207be335fb4f449d1b68d8c0260a"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>extent_guard</b> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> *h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind)</td></tr>
+<tr class="separator:a835d207be335fb4f449d1b68d8c0260a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:adf16f67f49931b3442ad14f65e3625a5"><td class="memItemLeft" align="right" valign="top"><a id="adf16f67f49931b3442ad14f65e3625a5"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>lockable_io_handle</b></td></tr>
+<tr class="separator:adf16f67f49931b3442ad14f65e3625a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>EXTENSION: RAII holder a locked extent of bytes in a file. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.js b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.js
new file mode 100644
index 00000000..b34955d0
--- /dev/null
+++ b/classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.js
@@ -0,0 +1,17 @@
+var classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard =
+[
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a835d207be335fb4f449d1b68d8c0260a", null ],
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a243bbb198c4837fba06620578b5a8cdb", null ],
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7", null ],
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e", null ],
+ [ "~extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a5e10d02af29690672917c83a7ab2eeee", null ],
+ [ "extent", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e", null ],
+ [ "handle", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4", null ],
+ [ "operator bool", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a11eb347744e5548b52a170cb76a32ce8", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3", null ],
+ [ "release", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981", null ],
+ [ "set_handle", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04", null ],
+ [ "unlock", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb", null ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#adf16f67f49931b3442ad14f65e3625a5", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1log__level__guard-members.html b/classllfio__v2__xxx_1_1log__level__guard-members.html
index 7b97e380..fb389d28 100644
--- a/classllfio__v2__xxx_1_1log__level__guard-members.html
+++ b/classllfio__v2__xxx_1_1log__level__guard-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__guard.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__guard.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,7 +103,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__gua
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1log__level__guard.html b/classllfio__v2__xxx_1_1log__level__guard.html
index 2b07b9a9..f2920c38 100644
--- a/classllfio__v2__xxx_1_1log__level__guard.html
+++ b/classllfio__v2__xxx_1_1log__level__guard.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::log_level_guard Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__guard.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__guard.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,7 +90,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1log__level__gua
</div><!--header-->
<div class="contents">
-<p>RAII class for temporarily adjusting the log level.
+<p>RAII class for temporarily adjusting the log level for the current thread.
<a href="classllfio__v2__xxx_1_1log__level__guard.html#details">More...</a></p>
<p><code>#include &quot;logging.hpp&quot;</code></p>
@@ -112,7 +114,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a642b39b0a98d74f02405375cffa63154"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>RAII class for temporarily adjusting the log level. </p>
+<div class="textblock"><p>RAII class for temporarily adjusting the log level for the current thread. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/llfio/v2.0/logging.hpp</li>
</ul>
@@ -124,7 +126,7 @@ Public Member Functions</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html">log_level_guard</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1map__handle-members.html b/classllfio__v2__xxx_1_1map__handle-members.html
index c2e9e40c..a03e7b96 100644
--- a/classllfio__v2__xxx_1_1map__handle-members.html
+++ b/classllfio__v2__xxx_1_1map__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,7 +90,17 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_addr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0">_do_max_buffers</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">llfio_v2_xxx::lockable_io_handle::_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">llfio_v2_xxx::lockable_io_handle::_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flag</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_length</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -96,22 +108,30 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_pagesize</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_reservation</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_section</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65">as_span</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a">as_span</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">commit</a>(buffer_type region, section_handle::flag flag=section_handle::flag::readwrite) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
@@ -127,69 +147,116 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7">length</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map</a>(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533">map</a>(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>map_handle</b>(section_handle *section, section_handle::flag flags) (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279">map_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_file_range</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_file_range</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map</a>(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533">map</a>(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>map_handle</b>(section_handle *section, section_handle::flag flags) (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279">map_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c">map_handle</a>(byte *addr, size_type length, size_type pagesize, section_handle::flag flags, section_handle *section=nullptr, extent_type offset=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b">map_handle</a>(map_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4">map_handle</a>(const map_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mapped_file_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">operator=</a>(map_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2">operator=</a>(const map_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt; buffer_type &gt; regions) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">operator=</a>(map_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2">operator=</a>(const map_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">llfio_v2_xxx::lockable_io_handle::operator=</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">llfio_v2_xxx::lockable_io_handle::operator=</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt; buffer_type &gt; regions) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::lockable_io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc">reserve</a>(size_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">set_section</a>(section_handle *s) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506">swap</a>(map_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::lockable_io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a">truncate</a>(size_type newsize, bool permit_relocation=false) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">update_map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">update_map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::lockable_io_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~map_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~lockable_io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~map_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -197,7 +264,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1map__handle.html b/classllfio__v2__xxx_1_1map__handle.html
index f1535cbb..3e120581 100644
--- a/classllfio__v2__xxx_1_1map__handle.html
+++ b/classllfio__v2__xxx_1_1map__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::map_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,11 +87,12 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1map__handle-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::map_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+<div class="title">llfio_v2_xxx::map_handle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -103,10 +106,11 @@ Inheritance diagram for llfio_v2_xxx::map_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1map__handle.png" usemap="#llfio_5Fv2_5Fxxx::map_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::map_5Fhandle_map" name="llfio_5Fv2_5Fxxx::map_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,152,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,152,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="0,112,193,136"/>
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,193,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,193,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -129,35 +133,38 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
<tr class="separator:aaa8a74dfd708c27f547a6ebd6298d043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf99226dfe0cb36b0650d71159a74631"><td class="memItemLeft" align="right" valign="top"><a id="acf99226dfe0cb36b0650d71159a74631"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
<tr class="separator:acf99226dfe0cb36b0650d71159a74631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3eba2db55f7fd082a395ea225826ba0"><td class="memItemLeft" align="right" valign="top"><a id="ab3eba2db55f7fd082a395ea225826ba0"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
<tr class="separator:ab3eba2db55f7fd082a395ea225826ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80e2ea0a3d7289b55911375fe44cf1fd"><td class="memItemLeft" align="right" valign="top"><a id="a80e2ea0a3d7289b55911375fe44cf1fd"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
<tr class="separator:a80e2ea0a3d7289b55911375fe44cf1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a776d7d6acd8d80b54c086eafbc1d57c9"><td class="memItemLeft" align="right" valign="top"><a id="a776d7d6acd8d80b54c086eafbc1d57c9"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
<tr class="separator:a776d7d6acd8d80b54c086eafbc1d57c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9bd6d309f13b72291b2bf7dd495cda4"><td class="memTemplParams" colspan="2"><a id="ab9bd6d309f13b72291b2bf7dd495cda4"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:ab9bd6d309f13b72291b2bf7dd495cda4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:ab9bd6d309f13b72291b2bf7dd495cda4"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
<tr class="separator:ab9bd6d309f13b72291b2bf7dd495cda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab814c4ba9fb6486c21f701a00691df2f"><td class="memTemplParams" colspan="2"><a id="ab814c4ba9fb6486c21f701a00691df2f"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:ab814c4ba9fb6486c21f701a00691df2f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:ab814c4ba9fb6486c21f701a00691df2f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:ab814c4ba9fb6486c21f701a00691df2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70374e65bae2e28bd94bffc0d73d1099"><td class="memItemLeft" align="right" valign="top"><a id="a70374e65bae2e28bd94bffc0d73d1099"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
-<tr class="separator:a70374e65bae2e28bd94bffc0d73d1099"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79e1ddfc16d4d99a66f8a4781aeca28d"><td class="memItemLeft" align="right" valign="top"><a id="a79e1ddfc16d4d99a66f8a4781aeca28d"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = io_handle::path_type</td></tr>
+<tr class="separator:a79e1ddfc16d4d99a66f8a4781aeca28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -165,6 +172,10 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279">map_handle</a> ()</td></tr>
<tr class="memdesc:a9c69e0d3f3fa2c213bdd4deabc6c2279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a9c69e0d3f3fa2c213bdd4deabc6c2279"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ef85c2e8a638614a39b85626467004c"><td class="memItemLeft" align="right" valign="top"><a id="a8ef85c2e8a638614a39b85626467004c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c">map_handle</a> (byte *addr, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7">length</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> pagesize, section_handle::flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> *<a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>=nullptr, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>=0) noexcept</td></tr>
+<tr class="memdesc:a8ef85c2e8a638614a39b85626467004c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an instance managing pages at <code>addr</code>, <code>length</code>, <code>pagesize</code> and <code>flags</code> <br /></td></tr>
+<tr class="separator:a8ef85c2e8a638614a39b85626467004c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85903a9f61228497b09bf5071ffc255b"><td class="memItemLeft" align="right" valign="top"><a id="a85903a9f61228497b09bf5071ffc255b"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b">map_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:a85903a9f61228497b09bf5071ffc255b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of map_handle permitted. <br /></td></tr>
@@ -193,9 +204,6 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">release</a> () noexcept override</td></tr>
<tr class="memdesc:a06cfd3521ff08782a848821951510f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the mapped view, but does NOT release the native handle. <br /></td></tr>
<tr class="separator:a06cfd3521ff08782a848821951510f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab0aa8cab289373bace4c576465fe7e3d"><td class="memItemLeft" align="right" valign="top"><a id="ab0aa8cab289373bace4c576465fe7e3d"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:ab0aa8cab289373bace4c576465fe7e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a173539843aebd387bb8ca06246067ead"><td class="memItemLeft" align="right" valign="top"><a id="a173539843aebd387bb8ca06246067ead"></a>
<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a> () const noexcept</td></tr>
<tr class="memdesc:a173539843aebd387bb8ca06246067ead"><td class="mdescLeft">&#160;</td><td class="mdescRight">The memory section this handle is using. <br /></td></tr>
@@ -224,7 +232,9 @@ byte *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cl
span&lt; byte &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65">as_span</a> () noexcept</td></tr>
<tr class="memdesc:ace85e1ed0933fe9f3f5e2b460d9fca65"><td class="mdescLeft">&#160;</td><td class="mdescRight">The memory map as a span of bytes. <br /></td></tr>
<tr class="separator:ace85e1ed0933fe9f3f5e2b460d9fca65"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acdb624159d265151a82c0831899bb13a"><td class="memItemLeft" align="right" valign="top">span&lt; const byte &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a">as_span</a> () const noexcept</td></tr>
+<tr class="memitem:acdb624159d265151a82c0831899bb13a"><td class="memItemLeft" align="right" valign="top"><a id="acdb624159d265151a82c0831899bb13a"></a>
+span&lt; const byte &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a">as_span</a> () const noexcept</td></tr>
+<tr class="memdesc:acdb624159d265151a82c0831899bb13a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:acdb624159d265151a82c0831899bb13a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7224b586e457183ebcb0a694e282d0fc"><td class="memItemLeft" align="right" valign="top"><a id="a7224b586e457183ebcb0a694e282d0fc"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">page_size</a> () const noexcept</td></tr>
@@ -240,40 +250,166 @@ result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb
<tr class="separator:ac7aeb0aa6182a22d0242340eb6d341b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb1c874bdab5540c3310e468e41325a"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a">truncate</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> newsize, bool permit_relocation=false) noexcept</td></tr>
<tr class="separator:a1fb1c874bdab5540c3310e468e41325a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b3f12d17a9fc0cfbe15d389f896caa7"><td class="memItemLeft" align="right" valign="top"><a id="a9b3f12d17a9fc0cfbe15d389f896caa7"></a>
-result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">commit</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> region, section_handle::flag flag=section_handle::flag::readwrite) noexcept</td></tr>
-<tr class="memdesc:a9b3f12d17a9fc0cfbe15d389f896caa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ask the system to commit the system resources to make the memory represented by the buffer available with the given permissions. addr and length should be page aligned (see <code>page_size()</code>), if not the returned buffer is the region actually committed. <br /></td></tr>
+<tr class="memitem:a9b3f12d17a9fc0cfbe15d389f896caa7"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">commit</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> region, section_handle::flag flag=section_handle::flag::readwrite) noexcept</td></tr>
<tr class="separator:a9b3f12d17a9fc0cfbe15d389f896caa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a518ff43602ac8e32ae48a198d0de1d75"><td class="memItemLeft" align="right" valign="top"><a id="a518ff43602ac8e32ae48a198d0de1d75"></a>
-result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75">decommit</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
-<tr class="memdesc:a518ff43602ac8e32ae48a198d0de1d75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ask the system to make the memory represented by the buffer unavailable and to decommit the system resources representing them. addr and length should be page aligned (see <code>page_size()</code>), if not the returned buffer is the region actually decommitted. <br /></td></tr>
+<tr class="memitem:a518ff43602ac8e32ae48a198d0de1d75"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75">decommit</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
<tr class="separator:a518ff43602ac8e32ae48a198d0de1d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b87515430eb0220950b4c17a3da745f"><td class="memItemLeft" align="right" valign="top">result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
+<tr class="memitem:a0b87515430eb0220950b4c17a3da745f"><td class="memItemLeft" align="right" valign="top">result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
<tr class="separator:a0b87515430eb0220950b4c17a3da745f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3efb39f1b54a7c156a3e0ee2a953712d"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">do_not_store</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
+<tr class="memitem:a3efb39f1b54a7c156a3e0ee2a953712d"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">do_not_store</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
<tr class="separator:a3efb39f1b54a7c156a3e0ee2a953712d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a073cdca57e3e3718d2eb285be51d5c92"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:a073cdca57e3e3718d2eb285be51d5c92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the mapped view. <a href="#a073cdca57e3e3718d2eb285be51d5c92">More...</a><br /></td></tr>
-<tr class="separator:a073cdca57e3e3718d2eb285be51d5c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90afda5433656ed35a5814e048cc1f1b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:a90afda5433656ed35a5814e048cc1f1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the mapped view. <a href="#a90afda5433656ed35a5814e048cc1f1b">More...</a><br /></td></tr>
-<tr class="separator:a90afda5433656ed35a5814e048cc1f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a469019e3bbcd7b37499b8604af713b40"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a469019e3bbcd7b37499b8604af713b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for exclusive access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">More...</a><br /></td></tr>
+<tr class="separator:a469019e3bbcd7b37499b8604af713b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">More...</a><br /></td></tr>
+<tr class="separator:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a561ef83b4fe400b59c9d92444913c180"><td class="memItemLeft" align="right" valign="top"><a id="a561ef83b4fe400b59c9d92444913c180"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a561ef83b4fe400b59c9d92444913c180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired exclusive lock. <br /></td></tr>
+<tr class="separator:a561ef83b4fe400b59c9d92444913c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa24a432125e5b51b13f21d9b74fa4721"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa24a432125e5b51b13f21d9b74fa4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for shared access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">More...</a><br /></td></tr>
+<tr class="separator:aa24a432125e5b51b13f21d9b74fa4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8e3d809cb954d99e228ee756bac1c64"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:ad8e3d809cb954d99e228ee756bac1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">More...</a><br /></td></tr>
+<tr class="separator:ad8e3d809cb954d99e228ee756bac1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memItemLeft" align="right" valign="top"><a id="afc5ba16c0377a56b7e1a66a9c6d0a703"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired shared lock. <br /></td></tr>
+<tr class="separator:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">More...</a><br /></td></tr>
+<tr class="separator:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9582b139a2b92ff13708a4de547c5605"><td class="memItemLeft" align="right" valign="top"><a id="a9582b139a2b92ff13708a4de547c5605"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a9582b139a2b92ff13708a4de547c5605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memItemLeft" align="right" valign="top"><a id="aa87c3e22aa12084cb48fb29c5b10c78d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplParams" colspan="2"><a id="a393d056936c3f262aff76ed406858a95"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a393d056936c3f262aff76ed406858a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplParams" colspan="2"><a id="ae3b16c444914200a7e5ab3cd0ba2d002"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplParams" colspan="2"><a id="a7727a23852d90bd5ea4e47044d20cfee"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a7727a23852d90bd5ea4e47044d20cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes) noexcept</td></tr>
+<tr class="memdesc:a5572735777dfdd3f7c5c1f6dc8260287"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">More...</a><br /></td></tr>
+<tr class="separator:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -303,12 +439,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -329,6 +469,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -341,6 +489,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -370,13 +522,17 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
Static Public Member Functions</h2></td></tr>
<tr class="memitem:adf0cad925c9d6accd5bd7fc3aa49884c"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
<tr class="separator:adf0cad925c9d6accd5bd7fc3aa49884c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0c02775e3288da59f5912f8110b45cc"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc">reserve</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> bytes) noexcept</td></tr>
+<tr class="separator:ac0c02775e3288da59f5912f8110b45cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e6163e135f2a0eebf62a127f0125533"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533">map</a> (<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> bytes=0, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
<tr class="separator:a8e6163e135f2a0eebf62a127f0125533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25dcce3a7127c5552687c540c37b9f27"><td class="memItemLeft" align="right" valign="top"><a id="a25dcce3a7127c5552687c540c37b9f27"></a>
-static result&lt; span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a> (span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; regions) noexcept</td></tr>
+static result&lt; span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a> (span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; regions) noexcept</td></tr>
<tr class="memdesc:a25dcce3a7127c5552687c540c37b9f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ask the system to begin to asynchronously prefetch the span of memory regions given, returning the regions actually prefetched. Note that on Windows 7 or earlier the system call to implement this was not available, and so you will see an empty span returned. <br /></td></tr>
<tr class="separator:a25dcce3a7127c5552687c540c37b9f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af047e43f418d68c618fab258b733302d"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
+<tr class="memitem:af047e43f418d68c618fab258b733302d"><td class="memItemLeft" align="right" valign="top"><a id="af047e43f418d68c618fab258b733302d"></a>
+static result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> region) noexcept</td></tr>
+<tr class="memdesc:af047e43f418d68c618fab258b733302d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:af047e43f418d68c618fab258b733302d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
@@ -384,6 +540,49 @@ Protected Member Functions</h2></td></tr>
<tr class="memitem:aa954d9b40b2685bbc8a229e3907c297d"><td class="memItemLeft" align="right" valign="top"><a id="aa954d9b40b2685bbc8a229e3907c297d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>map_handle</b> (<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> *<a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>, section_handle::flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>)</td></tr>
<tr class="separator:aa954d9b40b2685bbc8a229e3907c297d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8b37eff92c2536bd05943a18c6b91c0"><td class="memItemLeft" align="right" valign="top"><a id="ac8b37eff92c2536bd05943a18c6b91c0"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0">_do_max_buffers</a> () const noexcept override</td></tr>
+<tr class="memdesc:ac8b37eff92c2536bd05943a18c6b91c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ac8b37eff92c2536bd05943a18c6b91c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacec26b42225b1e65b53fdd979c5ee2d"><td class="memItemLeft" align="right" valign="top"><a id="aacec26b42225b1e65b53fdd979c5ee2d"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:aacec26b42225b1e65b53fdd979c5ee2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aacec26b42225b1e65b53fdd979c5ee2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772214f8a93de09ae75a18ffbfa93cd5"><td class="memItemLeft" align="right" valign="top"><a id="a772214f8a93de09ae75a18ffbfa93cd5"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a772214f8a93de09ae75a18ffbfa93cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a772214f8a93de09ae75a18ffbfa93cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19cffabe54e3136730247bac668ccc0d"><td class="memItemLeft" align="right" valign="top"><a id="a19cffabe54e3136730247bac668ccc0d"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a19cffabe54e3136730247bac668ccc0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a19cffabe54e3136730247bac668ccc0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
@@ -408,15 +607,15 @@ byte *&#160;</td><td class="memItemRight" valign="bottom"><b>_addr</b> {nullptr}
<tr class="memitem:a68216d4c582fc817fa86229dce397146"><td class="memItemLeft" align="right" valign="top"><a id="a68216d4c582fc817fa86229dce397146"></a>
section_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag</b> {section_handle::flag::none}</td></tr>
<tr class="separator:a68216d4c582fc817fa86229dce397146"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
@@ -430,28 +629,41 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<p>The size you specify when creating the map handle is the address space reservation. The map's <code>length()</code> will return the last known <b>valid</b> length of the mapped data i.e. the backing storage's length at the time of construction. This length is used by <code>read()</code> and <code>write()</code> to prevent reading and writing off the end of the mapped region. You can update this length to the backing storage's length using <code>update_map()</code> up to the reservation limit.</p>
<p>You can attempt to modify the address space reservation after creation using <code>truncate()</code>. If successful, this will be more efficient than tearing down the map and creating a new larger map.</p>
<p>The native handle returned by this map handle is always that of the backing storage, but closing this handle does not close that of the backing storage, nor does releasing this handle release that of the backing storage. Locking byte ranges of this handle is therefore equal to locking byte ranges in the original backing storage, which can be very useful.</p>
-<h2>Barriers:</h2>
+<p>On Microsoft Windows, when mapping file content, you should try to always create the first map of that file using a writable handle. See <code>mapped_file_handle</code> for more detail on this.</p>
+<p>On Linux, be aware that there is a default limit of 65,530 non-contiguous VMAs per process. It is surprisingly easy to run into this limit in real world applications. You can either require users to issue <code>sysctl -w vm.max_map_count=262144</code> to increase the kernel limit, or take considerable care to never poke holes into large VMAs. <code>.do_not_store()</code> is very useful here for releasing the resources backing pages without decommitting them.</p>
+<h2><a class="anchor" id="autotoc_md7"></a>
+Commit charge:</h2>
+<p>All virtual memory systems account for memory allocated, even if never used. This is known as "commit charge". All virtual memory systems will not permit more pages to be committed than there is storage for them between RAM and the swap files (except for Linux, where most distributions configure "over commit" in the Linux kernel). This ensures that if the system gives you a committed memory page, you are hard guaranteed that writing into it will not fail. Note that memory mapped files have storage backed by their file contents, so except for pages written into and not yet flushed to storage, memory mapped files usually do not contribute more than a few pages each to commit charge.</p>
+<p>The system commit limit can be easily exceeded if programs commit a lot of memory that they never use. To avoid this, for large allocations you should <em>reserve</em> pages which you don't expect to use immediately, and <em>later</em> explicitly commit and decommit them. You can request pages not accounted against the system commit charge using <code>flag::nocommit</code>. For portability, you should <b>always</b> combine <code>flag::nocommit</code> with <code>flag::none</code>, indeed only Linux permits the allocation of usable pages which are not charged against commit. All other platforms enforce that reserved pages must be unusable, and only pages which are committed are usable.</p>
+<p>Separate to whether a page is committed or not is whether it actually consumes resources or not. Pages never written into are not stored by virtual memory systems, and much code when considering the memory consumption of a process only considers the portion of the total commit charge which contains modified pages. This makes sense, given the prevalence of code which commits memory it never uses, however it also leads to anti-social outcomes such as Linux distributions enabling pathological workarounds such as over commit and specialised OOM killers.</p>
+<h2><a class="anchor" id="autotoc_md8"></a>
+Barriers:</h2>
<p><code>map_handle</code>, because it implements <code>io_handle</code>, implements <code>barrier()</code> in a very conservative way to account for OS differences i.e. it calls <code>msync()</code>, and then the <code>barrier()</code> implementation for the backing file (probably <code>fsync()</code> or equivalent on most platforms, which synchronises the entire file).</p>
<p>This is vast overkill if you are using non-volatile RAM, so a special <em>inlined</em> <code>nvram_barrier()</code> implementation taking a single buffer and no other arguments is also provided as a free function. This calls the appropriate architecture-specific instructions to cause the CPU to write all preceding writes out of the write buffers and CPU caches to main memory, so for Intel CPUs this would be <code>CLWB &lt;each cache line&gt;; SFENCE;</code>. As this is inlined, it ought to produce optimal code. If your CPU does not support the requisite instructions (or LLFIO has not added support), and empty buffer will be returned to indicate that nothing was barriered, same as the normal <code>barrier()</code> function.</p>
-<h2>Large page support:</h2>
+<h2><a class="anchor" id="autotoc_md9"></a>
+Large page support:</h2>
<p>Large, huge, massive and super page support is available via the <code>section_handle::flag::page_sizes_N</code> flags. Use these in combination with <code>utils::page_size()</code> to request allocations or maps which use different page sizes.</p>
-<h3>Windows:</h3>
+<h3><a class="anchor" id="autotoc_md10"></a>
+Windows:</h3>
<p>Firstly, explicit large page support is only available to processes and logged in users who have been assigned the <code>SeLockMemoryPrivilege</code>. A default Windows installation assigns that privilege to nothing, so explicit action will need to be taken to assign that privilege per Windows installation.</p>
<p>Secondly, as of Windows 10 1803, there is the large page size or the normal page size. There isn't (useful) support for pages of any other size, as there is on other systems.</p>
<p>For allocating memory, large page allocation can randomly fail depending on what the system is feeling like, same as on all the other operating systems. It is not permitted to reserve address space using large pages.</p>
<p>For mapping files, large page maps do not work as of Windows 10 1803 (curiously, ReactOS <em>does</em> implement this). There is a big exception to this, which is for DAX formatted NTFS volumes with a formatted cluster size of the large page size, where if you map in large page sized multiples, the Windows kernel uses large pages (and one need not hold <code>SeLockMemoryPrivilege</code> either). Therefore, if you specify <code>section_handle::flag::nvram</code> with a <code>section_handle::flag::page_sizes_N</code>, LLFIO does not ask for large pages which would fail, it merely rounds all requests up to the nearest large page multiple.</p>
-<h3>Linux:</h3>
+<h3><a class="anchor" id="autotoc_md11"></a>
+Linux:</h3>
<p>As usual on Linux, large page (often called huge page on Linux) support comes in many forms.</p>
<p>Explicit support is via <code>MAP_HUGETLB</code> to <code>mmap()</code>, and whether an explicit request succeeds or not is up to how many huge pages were configured into the running system via boot-time kernel parameters, and how many huge pages are in use already. For most recent kernels on most distributions, explicit memory allocation requests using large pages generally works without issue. As of Linux kernel 4.18, mapping files using large pages only works on <code>tmpfs</code>, this corresponds to <code>path_discovery::memory_backed_temporary_files_directory()</code> sourced anonymous section handles. Work is proceeding well for the major Linux filing systems to become able to map files using large pages soon, and in theory LLFIO based should "just work" on such a newer kernel.</p>
-<p>Note that many distributions enable transparent huge pages, whereby if you request allocations of large page multiples at large page offsets, the kernel uses large pages, without you needing to specify any <code>section_handle::flag::page_sizes_N</code>.</p>
-<h3>FreeBSD:</h3>
+<p>Note that some distributions enable transparent huge pages, whereby if you request allocations of large page multiples at large page offsets, the kernel uses large pages, without you needing to specify any <code>section_handle::flag::page_sizes_N</code>. Almost all distributions enable opt-in transparent huge pages, where you can explicitly request that pages within a region of memory transparently use huge pages as much as possible. LLFIO does not expose such facilities, you will need to manually invoke <code>madvise(MADV_HUGEPAGE)</code> on the region desired.</p>
+<h3><a class="anchor" id="autotoc_md12"></a>
+FreeBSD:</h3>
<p>FreeBSD has no support for failing if large pages cannot be used for a specific <code>mmap()</code>. The best you can do is to ask for large pages, and you may or may not get them depending on available system resources, filing system in use, etc. LLFIO does not check returned maps to discover if large pages were actually used, that is on end user code to check if it really needs to know.</p>
-<h3>MacOS:</h3>
+<h3><a class="anchor" id="autotoc_md13"></a>
+MacOS:</h3>
<p>MacOS only supports large pages for memory allocations, not for mapping files. It fails if large pages could not be used when a large page allocation was requested.</p>
<dl class="section see"><dt>See also</dt><dd><code>mapped_file_handle</code>, <code>algorithm::mapped_span</code> </dd></dl>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
<div class="memitem">
<div class="memproto">
@@ -460,33 +672,105 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+</div><div class="memdoc">
+
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="acdb624159d265151a82c0831899bb13a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acdb624159d265151a82c0831899bb13a">&#9670;&nbsp;</a></span>as_span()</h2>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
<div class="memitem">
<div class="memproto">
@@ -495,7 +779,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">span&lt;const byte&gt; llfio_v2_xxx::map_handle::as_span </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -503,16 +787,17 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;{ <span class="keywordflow">return</span> {_addr, _length}; }</div></div><!-- fragment -->
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -521,16 +806,16 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -546,33 +831,75 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
<div class="memitem">
<div class="memproto">
@@ -581,10 +908,21 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -593,8 +931,55 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a9b3f12d17a9fc0cfbe15d389f896caa7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b3f12d17a9fc0cfbe15d389f896caa7">&#9670;&nbsp;</a></span>commit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&gt; llfio_v2_xxx::map_handle::commit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&#160;</td>
+ <td class="paramname"><em>region</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>flag</em> = <code>section_handle::flag::readwrite</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Ask the system to commit the system resources to make the memory represented by the buffer available with the given permissions. addr and length should be page aligned (see <code>page_size()</code>), if not the returned buffer is the region actually committed. </p>
</div>
</div>
@@ -623,11 +1008,39 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a518ff43602ac8e32ae48a198d0de1d75"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a518ff43602ac8e32ae48a198d0de1d75">&#9670;&nbsp;</a></span>decommit()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&gt; llfio_v2_xxx::map_handle::decommit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&#160;</td>
+ <td class="paramname"><em>region</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Ask the system to make the memory represented by the buffer unavailable and to decommit the system resources representing them. addr and length should be page aligned (see <code>page_size()</code>), if not the returned buffer is the region actually decommitted. </p>
</div>
</div>
@@ -641,9 +1054,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a>&gt; llfio_v2_xxx::map_handle::do_not_store </td>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&gt; llfio_v2_xxx::map_handle::do_not_store </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a>&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&#160;</td>
<td class="paramname"><em>region</em></td><td>)</td>
<td></td>
</tr>
@@ -655,13 +1068,15 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Ask the system to unset the dirty flag for the memory represented by the buffer. This will prevent any changes not yet sent to the backing storage from being sent in the future, also if the system kicks out this page and reloads it you may see some edition of the underlying storage instead of what was here. <code>addr</code> and <code>length</code> should be page aligned (see<code>page_size()</code>), if not the returned buffer is the region actually undirtied.</p>
+<p>Note that commit charge is not affected by this operation, as writes into the undirtied pages are guaranteed to succeed.</p>
+<p>You should be aware that on Microsoft Windows, the platform syscall for discarding virtual memory pages becomes hideously slow when called upon committed pages within a large address space reservation. All three syscalls were trialled, and the least worst is actually <code>DiscardVirtualMemory()</code> which is what this function uses. However it still has exponential slow down as more pages within a large reservation become committed e.g. 8Gb committed within a 2Tb reservation is approximately 20x slower than when &lt; 1Gb is committed. Non-Windows platforms do not have this problem.</p>
<dl class="section warning"><dt>Warning</dt><dd>This function destroys the contents of unwritten pages in the region in a totally unpredictable fashion. Only use it if you don't care how much of the region reaches physical storage or not. Note that the region is not necessarily zeroed, and may be randomly zeroed.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Microsoft Windows does not support unsetting the dirty flag on file backed maps, so on Windows this call does nothing. </dd></dl>
</div>
</div>
-<a id="adf0cad925c9d6accd5bd7fc3aa49884c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf0cad925c9d6accd5bd7fc3aa49884c">&#9670;&nbsp;</a></span>map() <span class="overload">[1/2]</span></h2>
+<a id="a469019e3bbcd7b37499b8604af713b40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a469019e3bbcd7b37499b8604af713b40">&#9670;&nbsp;</a></span>lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -670,22 +1085,57 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a>&gt; llfio_v2_xxx::map_handle::map </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Locks the inode referred to by the open handle for exclusive access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a0ece4f0a48e1e67debc438a9742a1f4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ece4f0a48e1e67debc438a9742a1f4c">&#9670;&nbsp;</a></span>lock_file_range()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::lockable_io_handle::lock_file_range </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>zeroed</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">section_handle::flag&#160;</td>
- <td class="paramname"><em>_flag</em> = <code>section_handle::flag::readwrite</code>&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -695,25 +1145,67 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Map unused memory into view, creating new memory if insufficient unused memory is available. Note that the memory mapped by this call may contain non-zero bits (recycled memory) unless <code>zeroed</code> is true. </p><dl class="params"><dt>Parameters</dt><dd>
+
+<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. </p>
+<p>Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform:</p>
+<ul>
+<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
+<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
+</ul>
+<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">bytes</td><td>How many bytes to map. Typically will be rounded up to a multiple of the page size (see <code>page_size()</code>). </td></tr>
- <tr><td class="paramname">zeroed</td><td>Set to true if only all bits zeroed memory is wanted. </td></tr>
- <tr><td class="paramname">_flag</td><td>The permissions with which to map the view. <code>flag::none</code> can be useful for reserving virtual address space without committing system resources, use commit() to later change availability of memory.</td></tr>
+ <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to lock. Setting this and the offset to zero causes the whole file to be locked. </td></tr>
+ <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
</table>
</dd>
</dl>
-<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows this constructor uses the faster VirtualAlloc() which creates less versatile page backed memory. If you want anonymous memory allocated from a paging file backed section instead, create a page file backed section and then a mapped view from that using the other constructor. This makes available all those very useful VM tricks Windows can do with section mapped memory which VirtualAlloc() memory cannot do.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or VirtualAlloc() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return, errc::timed_out, errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
+</div>
+</div>
+<a id="aa24a432125e5b51b13f21d9b74fa4721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa24a432125e5b51b13f21d9b74fa4721">&#9670;&nbsp;</a></span>lock_file_shared()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file_shared </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Locks the inode referred to by the open handle for shared access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
<a id="a8e6163e135f2a0eebf62a127f0125533"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8e6163e135f2a0eebf62a127f0125533">&#9670;&nbsp;</a></span>map() <span class="overload">[2/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8e6163e135f2a0eebf62a127f0125533">&#9670;&nbsp;</a></span>map() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -757,21 +1249,22 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create a memory mapped view of a backing storage, optionally reserving additional address space for later growth. </p><dl class="params"><dt>Parameters</dt><dd>
+<p>Create a memory mapped view of a backing storage, optionally reserving additional address space for later growth.</p>
+<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">section</td><td>A memory section handle specifying the backing storage to use. </td></tr>
<tr><td class="paramname">bytes</td><td>How many bytes to reserve (0 = the size of the section). Rounded up to nearest 64Kb on Windows. </td></tr>
<tr><td class="paramname">offset</td><td>The offset into the backing storage to map from. Typically needs to be at least a multiple of the page size (see <code>page_size()</code>), on Windows it needs to be a multiple of the kernel memory allocation granularity (typically 64Kb). </td></tr>
- <tr><td class="paramname">_flag</td><td>The permissions with which to map the view which are constrained by the permissions of the memory section. <code>flag::none</code> can be useful for reserving virtual address space without committing system resources, use commit() to later change availability of memory. Note that apart from read/write/cow/execute, the section's flags override the map's flags.</td></tr>
+ <tr><td class="paramname">_flag</td><td>The permissions with which to map the view which are constrained by the permissions of the memory section. <code>flag::none</code> can be useful for reserving virtual address space without committing system resources, use <code>commit()</code> to later change availability of memory. Note that apart from read/write/cow/execute, the section's flags override the map's flags.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or NtMapViewOfSection() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mmap() or NtMapViewOfSection() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
+<a id="adf0cad925c9d6accd5bd7fc3aa49884c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adf0cad925c9d6accd5bd7fc3aa49884c">&#9670;&nbsp;</a></span>map() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -780,29 +1273,51 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a>&gt; llfio_v2_xxx::map_handle::map </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>zeroed</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>_flag</em> = <code>section_handle::flag::readwrite</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
-<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
+<p>Map unused memory into view, creating new memory if insufficient unused memory is available (i.e. add the returned memory to the process' commit charge, unless <code>flag::nocommit</code> was specified). Note that the memory mapped by this call may contain non-zero bits (recycled memory) unless <code>zeroed</code> is true.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>How many bytes to map. Typically will be rounded up to a multiple of the page size (see <code>page_size()</code>). </td></tr>
+ <tr><td class="paramname">zeroed</td><td>Set to true if only all bits zeroed memory is wanted. </td></tr>
+ <tr><td class="paramname">_flag</td><td>The permissions with which to map the view.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows this constructor uses the faster <code>VirtualAlloc()</code> which creates less versatile page backed memory. If you want anonymous memory allocated from a paging file backed section instead, create a page file backed section and then a mapped view from that using the other constructor. This makes available all those very useful VM tricks Windows can do with section mapped memory which <code>VirtualAlloc()</code> memory cannot do.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mmap() or VirtualAlloc() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="af047e43f418d68c618fab258b733302d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af047e43f418d68c618fab258b733302d">&#9670;&nbsp;</a></span>prefetch()</h2>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
<div class="memitem">
<div class="memproto">
@@ -811,21 +1326,32 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a>&gt; llfio_v2_xxx::map_handle::prefetch </td>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a>&#160;</td>
- <td class="paramname"><em>region</em></td><td>)</td>
- <td></td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; {</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt;buffer_type&gt;(&amp;region, 1)));</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> *ret.data();</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a25dcce3a7127c5552687c540c37b9f27"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle::prefetch</a></div><div class="ttdeci">static result&lt; span&lt; buffer_type &gt; &gt; prefetch(span&lt; buffer_type &gt; regions) noexcept</div><div class="ttdoc">Ask the system to begin to asynchronously prefetch the span of memory regions given, returning the regions actually prefetched. Note that on Windows 7 or earlier the system call to implement this was not available, and so you will see an empty span returned. </div></div>
+
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
+<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -854,28 +1380,124 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -884,9 +1506,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a>&gt; llfio_v2_xxx::io_handle::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -903,12 +1525,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the open handle. </p>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
@@ -918,13 +1540,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a073cdca57e3e3718d2eb285be51d5c92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a073cdca57e3e3718d2eb285be51d5c92">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -933,43 +1556,66 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a>&gt; llfio_v2_xxx::map_handle::read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the mapped view. </p>
-<dl class="section note"><dt>Note</dt><dd>Because this implementation never copies memory, you can pass in buffers with a null address. As this function never reads any memory, no attempt to trap signal raises can be made, this falls onto the user of this function. See <code>QUICKCPPLIB_NAMESPACE::signal_guard</code> for a helper function.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers read, which will never be the buffers input, because they will point into the mapped view. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ac0c02775e3288da59f5912f8110b45cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac0c02775e3288da59f5912f8110b45cc">&#9670;&nbsp;</a></span>reserve()</h2>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a>&gt; llfio_v2_xxx::map_handle::reserve </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Reserve address space within which individual pages can later be committed. Reserved address space is NOT added to the process' commit charge.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>How many bytes to reserve. Rounded up to nearest 64Kb on Windows.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows this constructor uses the faster <code>VirtualAlloc()</code> which creates less versatile page backed memory. If you want anonymous memory allocated from a paging file backed section instead, create a page file backed section and then a mapped view from that using the other constructor. This makes available all those very useful VM tricks Windows can do with section mapped memory which <code>VirtualAlloc()</code> memory cannot do.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mmap() or VirtualAlloc() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map</a>(bytes, <span class="keyword">false</span>, section_handle::flag::none | section_handle::flag::nocommit); }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
@@ -998,9 +1644,74 @@ For portability, you can only assume that barriers write order for a single hand
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a1fb1c874bdab5540c3310e468e41325a"></a>
@@ -1048,12 +1759,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX <code>mremap()</code>, <code>mmap(addr)</code> or <code>VirtualAlloc(addr)</code> can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mremap(), mmap(addr) or VirtualAlloc(addr) can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>
+<a id="a6e6a25ad5d9efd45e69d22e70a754a9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6a25ad5d9efd45e69d22e70a754a9e">&#9670;&nbsp;</a></span>try_lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1062,21 +1773,39 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
</tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="ad8e3d809cb954d99e228ee756bac1c64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8e3d809cb954d99e228ee756bac1c64">&#9670;&nbsp;</a></span>try_lock_file_shared()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
<tr>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file_shared </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
@@ -1086,23 +1815,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<p>Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>
+<a id="a5572735777dfdd3f7c5c1f6dc8260287"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5572735777dfdd3f7c5c1f6dc8260287">&#9670;&nbsp;</a></span>unlock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -1111,7 +1831,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">virtual void llfio_v2_xxx::lockable_io_handle::unlock_file_range </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
<td class="paramname"><em>offset</em>, </td>
@@ -1119,14 +1839,8 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1136,18 +1850,28 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
-</div><!-- fragment -->
+
+<p>EXTENSION: Unlocks a byte range previously locked. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
</div>
</div>
-<a id="a90afda5433656ed35a5814e048cc1f1b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90afda5433656ed35a5814e048cc1f1b">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -1156,9 +1880,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&gt; llfio_v2_xxx::map_handle::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1175,24 +1899,61 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Write data to the mapped view. </p>
-<dl class="section note"><dt>Note</dt><dd>This call traps signals and structured exception throws using <code>QUICKCPPLIB_NAMESPACE::signal_guard</code>. Instantiating a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> somewhere much higher up in the call stack will improve performance enormously. The signal guard may cost less than 100 CPU cycles depending on how you configure it. If you don't want the guard, you can write memory directly using <code>address()</code>.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which will never be the buffers input because they will point at where the data was copied into the mapped view. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>If during the attempt to write the buffers to the map a <code>SIGBUS</code> or <code>EXCEPTION_IN_PAGE_ERROR</code> is raised, an error code comparing equal to <code>errc::no_space_on_device</code> will be returned. This may not always be the cause of the raised signal, but it is by far the most likely. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None if a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> is already instanced. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write() <span class="overload">[2/2]</span></h2>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a0b87515430eb0220950b4c17a3da745f"></a>
@@ -1207,7 +1968,7 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="memname">result&lt;void&gt; llfio_v2_xxx::map_handle::zero_memory </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a>&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a>&#160;</td>
<td class="paramname"><em>region</em></td><td>)</td>
<td></td>
</tr>
@@ -1219,9 +1980,9 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Zero the memory represented by the buffer. Differs from zero() because it acts on mapped memory, not on allocated file extents.</p>
-<p>On Linux, Mac OS and FreeBSD any full 4Kb pages will be deallocated from the system entirely, including the extents for them in any backing storage. On newer Linux kernels the kernel can additionally swap whole 4Kb pages for freshly zeroed ones making this a very efficient way of zeroing large ranges of memory.</p>
-<p>On Windows, this call currently only works for non-backed memory due to lacking kernel support.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the errors returnable by madvise() or DiscardVirtualMemory or the zero() function. </dd></dl>
+<p>On Linux only, any full 4Kb pages will be deallocated from the system entirely, including the extents for them in any backing storage. On newer Linux kernels the kernel can additionally swap whole 4Kb pages for freshly zeroed ones making this a very efficient way of zeroing large ranges of memory. Note that commit charge is not affected by this operation, as writes into the zeroed pages are guaranteed to succeed.</p>
+<p>On Windows and Mac OS, this call currently only has an effect for non-backed memory due to lacking kernel support.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the errors returnable by madvise() or DiscardVirtualMemory or the zero() function.</dt><dd></dd></dl>
</div>
</div>
@@ -1230,13 +1991,29 @@ For portability, you can only assume that barriers write order for a single hand
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_a19cffabe54e3136730247bac668ccc0d"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">llfio_v2_xxx::map_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_a772214f8a93de09ae75a18ffbfa93cd5"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">llfio_v2_xxx::map_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1map__handle.js b/classllfio__v2__xxx_1_1map__handle.js
index d8cf899e..2dbff262 100644
--- a/classllfio__v2__xxx_1_1map__handle.js
+++ b/classllfio__v2__xxx_1_1map__handle.js
@@ -1,5 +1,7 @@
var classllfio__v2__xxx_1_1map__handle =
[
+ [ "awaitable", "classllfio__v2__xxx_1_1map__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1map__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
[ "buffer_type", "classllfio__v2__xxx_1_1map__handle.html#acf99226dfe0cb36b0650d71159a74631", null ],
[ "buffers_type", "classllfio__v2__xxx_1_1map__handle.html#a80e2ea0a3d7289b55911375fe44cf1fd", null ],
[ "caching", "classllfio__v2__xxx_1_1map__handle.html#a4e59feb68c5df85b377be5dd3ee563ab", null ],
@@ -11,76 +13,123 @@ var classllfio__v2__xxx_1_1map__handle =
[ "io_request", "classllfio__v2__xxx_1_1map__handle.html#ab9bd6d309f13b72291b2bf7dd495cda4", null ],
[ "io_result", "classllfio__v2__xxx_1_1map__handle.html#ab814c4ba9fb6486c21f701a00691df2f", null ],
[ "mode", "classllfio__v2__xxx_1_1map__handle.html#a936a1df99ed13959c716f434fec642a0", null ],
- [ "path_type", "classllfio__v2__xxx_1_1map__handle.html#a70374e65bae2e28bd94bffc0d73d1099", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1map__handle.html#a79e1ddfc16d4d99a66f8a4781aeca28d", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1map__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
[ "size_type", "classllfio__v2__xxx_1_1map__handle.html#addcc662f728bb854dc83d7fbbbef7f19", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#aa954d9b40b2685bbc8a229e3907c297d", null ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279", null ],
[ "~map_handle", "classllfio__v2__xxx_1_1map__handle.html#a433596cf8fbaf7fa81c6ff8807c18b4e", null ],
+ [ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c", null ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b", null ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1map__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1map__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1map__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1map__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1map__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1map__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
[ "address", "classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1map__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1map__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "as_span", "classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65", null ],
[ "as_span", "classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a", null ],
- [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
- [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#ab0aa8cab289373bace4c576465fe7e3d", null ],
+ [ "as_span", "classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
[ "capacity", "classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152", null ],
[ "clone", "classllfio__v2__xxx_1_1map__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "close", "classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1map__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1map__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1map__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1map__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1map__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
[ "commit", "classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7", null ],
[ "current_path", "classllfio__v2__xxx_1_1map__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
[ "decommit", "classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75", null ],
[ "do_not_store", "classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d", null ],
[ "flags", "classllfio__v2__xxx_1_1map__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1map__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1map__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1map__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1map__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1map__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1map__handle.html#a501aa723172f6852e82738b0969278ae", null ],
[ "is_nvram", "classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1map__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1map__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1map__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1map__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1map__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1map__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1map__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1map__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1map__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1map__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1map__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1map__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
[ "length", "classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1map__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
+ [ "lock_file", "classllfio__v2__xxx_1_1map__handle.html#a469019e3bbcd7b37499b8604af713b40", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1map__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1map__handle.html#a9582b139a2b92ff13708a4de547c5605", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1map__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d", null ],
+ [ "lock_file_shared", "classllfio__v2__xxx_1_1map__handle.html#aa24a432125e5b51b13f21d9b74fa4721", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1map__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1map__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
[ "native_handle", "classllfio__v2__xxx_1_1map__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "offset", "classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198", null ],
- [ "operator=", "classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195", null ],
[ "operator=", "classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195", null ],
[ "page_size", "classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1map__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1map__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1map__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
- [ "read", "classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
+ [ "read", "classllfio__v2__xxx_1_1map__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
[ "release", "classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "section", "classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1map__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1map__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
[ "set_section", "classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf", null ],
[ "swap", "classllfio__v2__xxx_1_1map__handle.html#a4716696b8700953889006251e0678aa4", null ],
[ "swap", "classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506", null ],
[ "truncate", "classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1map__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1map__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1map__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_lock_file", "classllfio__v2__xxx_1_1map__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e", null ],
+ [ "try_lock_file_range", "classllfio__v2__xxx_1_1map__handle.html#a393d056936c3f262aff76ed406858a95", null ],
+ [ "try_lock_file_range_for", "classllfio__v2__xxx_1_1map__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002", null ],
+ [ "try_lock_file_range_until", "classllfio__v2__xxx_1_1map__handle.html#a7727a23852d90bd5ea4e47044d20cfee", null ],
+ [ "try_lock_file_shared", "classllfio__v2__xxx_1_1map__handle.html#ad8e3d809cb954d99e228ee756bac1c64", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1map__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1map__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1map__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1map__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1map__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1map__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "unlock_file", "classllfio__v2__xxx_1_1map__handle.html#a561ef83b4fe400b59c9d92444913c180", null ],
+ [ "unlock_file_range", "classllfio__v2__xxx_1_1map__handle.html#a5572735777dfdd3f7c5c1f6dc8260287", null ],
+ [ "unlock_file_shared", "classllfio__v2__xxx_1_1map__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703", null ],
[ "update_map", "classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9", null ],
- [ "write", "classllfio__v2__xxx_1_1map__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
[ "write", "classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "write", "classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b", null ],
+ [ "write", "classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
+ [ "write", "classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1map__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "write", "classllfio__v2__xxx_1_1map__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
[ "zero_memory", "classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f", null ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1map__handle.html#a04d5b12318493f32de67854714001ab2", null ],
[ "_addr", "classllfio__v2__xxx_1_1map__handle.html#a6508b68a3a2748d16ba58c5052fb1149", null ],
- [ "_caching", "classllfio__v2__xxx_1_1map__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1map__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
[ "_flag", "classllfio__v2__xxx_1_1map__handle.html#a68216d4c582fc817fa86229dce397146", null ],
[ "_flags", "classllfio__v2__xxx_1_1map__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_length", "classllfio__v2__xxx_1_1map__handle.html#a67fb29deeca27a58ca3d78c792ca5435", null ],
diff --git a/classllfio__v2__xxx_1_1map__handle.png b/classllfio__v2__xxx_1_1map__handle.png
index 4d98a6ae..c68ba924 100644
--- a/classllfio__v2__xxx_1_1map__handle.png
+++ b/classllfio__v2__xxx_1_1map__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1mapped-members.html b/classllfio__v2__xxx_1_1mapped-members.html
index ce45769f..a1dfd389 100644
--- a/classllfio__v2__xxx_1_1mapped-members.html
+++ b/classllfio__v2__xxx_1_1mapped-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,31 +90,28 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html',''
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d">as_span</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52">const_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b">const_pointer</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876">const_reference</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">const_reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b">const_pointer</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876">const_reference</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83">extent_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad">index_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0">map</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped</b>(const mapped &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mapped</b>(mapped &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144">mapped</a>(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9">mapped</a>(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a">mapped</a>(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const mapped &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(mapped &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209">pointer</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df">reference</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">value_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec">~mapped</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0">map</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mapped</b>(const mapped &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped</b>(mapped &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144">mapped</a>(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9">mapped</a>(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a">mapped</a>(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const mapped &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(mapped &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209">pointer</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df">reference</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">value_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec">~mapped</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -120,7 +119,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html',''
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1mapped.html b/classllfio__v2__xxx_1_1mapped.html
index ef97268c..0473c81d 100644
--- a/classllfio__v2__xxx_1_1mapped.html
+++ b/classllfio__v2__xxx_1_1mapped.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::mapped&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,9 +99,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped.html',''
Inheritance diagram for llfio_v2_xxx::mapped&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="classllfio__v2__xxx_1_1mapped.png" usemap="#llfio_5Fv2_5Fxxx::mapped_3C_20T_20_3E_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::mapped_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::mapped_3C_20T_20_3E_map">
-</map>
+ <img src="classllfio__v2__xxx_1_1mapped.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@@ -112,13 +112,8 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a> = typename section_handle::size_type</td></tr>
<tr class="memdesc:a25d56aca213617d530ab3c9cb6f43df5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size type. <br /></td></tr>
<tr class="separator:a25d56aca213617d530ab3c9cb6f43df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6bad7c10fb47406a8a21966733e639ad"><td class="memItemLeft" align="right" valign="top"><a id="a6bad7c10fb47406a8a21966733e639ad"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad">index_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad">index_type</a></td></tr>
-<tr class="memdesc:a6bad7c10fb47406a8a21966733e639ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index type. <br /></td></tr>
-<tr class="separator:a6bad7c10fb47406a8a21966733e639ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace37649b885ac91425a6cadf63ccadda"><td class="memItemLeft" align="right" valign="top"><a id="ace37649b885ac91425a6cadf63ccadda"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a></td></tr>
-<tr class="memdesc:ace37649b885ac91425a6cadf63ccadda"><td class="mdescLeft">&#160;</td><td class="mdescRight">The element type. <br /></td></tr>
+<tr class="memitem:ace37649b885ac91425a6cadf63ccadda"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a></td></tr>
+<tr class="memdesc:ace37649b885ac91425a6cadf63ccadda"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index type. <a href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">More...</a><br /></td></tr>
<tr class="separator:ace37649b885ac91425a6cadf63ccadda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42e32d5e02addf6123422ebee02510e4"><td class="memItemLeft" align="right" valign="top"><a id="a42e32d5e02addf6123422ebee02510e4"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">value_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">value_type</a></td></tr>
@@ -144,21 +139,11 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">iterator</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">iterator</a></td></tr>
<tr class="memdesc:a6645c7abab4aea56e09ba4241b106cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The iterator type. <br /></td></tr>
<tr class="separator:a6645c7abab4aea56e09ba4241b106cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5694f18d13507d62f79870a497253f52"><td class="memItemLeft" align="right" valign="top"><a id="a5694f18d13507d62f79870a497253f52"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52">const_iterator</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52">const_iterator</a></td></tr>
-<tr class="memdesc:a5694f18d13507d62f79870a497253f52"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const iterator type. <br /></td></tr>
-<tr class="separator:a5694f18d13507d62f79870a497253f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f7cf4a4676feaa2deaefc35f95c6393"><td class="memItemLeft" align="right" valign="top"><a id="a6f7cf4a4676feaa2deaefc35f95c6393"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a></td></tr>
-<tr class="memdesc:a6f7cf4a4676feaa2deaefc35f95c6393"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reverse iterator type. <br /></td></tr>
+<tr class="memitem:a6f7cf4a4676feaa2deaefc35f95c6393"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a></td></tr>
+<tr class="memdesc:a6f7cf4a4676feaa2deaefc35f95c6393"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const iterator type. <a href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">More...</a><br /></td></tr>
<tr class="separator:a6f7cf4a4676feaa2deaefc35f95c6393"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab0b4bea44b6bb3936cec7ccb3c97361e"><td class="memItemLeft" align="right" valign="top"><a id="ab0b4bea44b6bb3936cec7ccb3c97361e"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">const_reverse_iterator</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">const_reverse_iterator</a></td></tr>
-<tr class="memdesc:ab0b4bea44b6bb3936cec7ccb3c97361e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const reverse iterator type. <br /></td></tr>
-<tr class="separator:ab0b4bea44b6bb3936cec7ccb3c97361e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1e8b86dd97d7d2e01436407160495e11"><td class="memItemLeft" align="right" valign="top"><a id="a1e8b86dd97d7d2e01436407160495e11"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a></td></tr>
-<tr class="memdesc:a1e8b86dd97d7d2e01436407160495e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">The difference type. <br /></td></tr>
+<tr class="memitem:a1e8b86dd97d7d2e01436407160495e11"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a> = typename span&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a></td></tr>
+<tr class="memdesc:a1e8b86dd97d7d2e01436407160495e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const reverse iterator type. <a href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">More...</a><br /></td></tr>
<tr class="separator:a1e8b86dd97d7d2e01436407160495e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@@ -212,7 +197,65 @@ class llfio_v2_xxx::mapped&lt; T &gt;</h3>
<p>These owning semantics are convenient, but may be too heavy for your use case. You can gain more fine grained control using <code>map_handle</code>/<code>mapped_file_handle</code> directly with P1631 <code>attached&lt;T&gt;</code>.</p>
<dl class="section note"><dt>Note</dt><dd>Only on the clang compiler, does <code>mapped</code> actually use P1631 in_place_attach/in_place_detach, as currently GCC and MSVC do two memcpy's of the mapped region. Also, we restrict the use of in_place_attach/in_place_detach to regions less than 4Kb in size, as even clang falls down on large regions.</dd></dl>
<p>Optionally can issue a blocking write barrier on destruction of the mapped view by setting the flag <code>section_handle::flag::barrier_on_close</code>, thus forcing any changes to data referred to by this to storage before the destructor returns. </p>
-</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+</div><h2 class="groupheader">Member Typedef Documentation</h2>
+<a id="a1e8b86dd97d7d2e01436407160495e11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e8b86dd97d7d2e01436407160495e11">&#9670;&nbsp;</a></span>difference_type</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped</a>&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a> = typename span&lt;T&gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11">difference_type</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>The const reverse iterator type. </p>
+<p>The difference type </p>
+
+</div>
+</div>
+<a id="ace37649b885ac91425a6cadf63ccadda"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace37649b885ac91425a6cadf63ccadda">&#9670;&nbsp;</a></span>element_type</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped</a>&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a> = typename span&lt;T&gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda">element_type</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>The index type. </p>
+<p>The element type </p>
+
+</div>
+</div>
+<a id="a6f7cf4a4676feaa2deaefc35f95c6393"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f7cf4a4676feaa2deaefc35f95c6393">&#9670;&nbsp;</a></span>reverse_iterator</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">using <a class="el" href="classllfio__v2__xxx_1_1mapped.html">llfio_v2_xxx::mapped</a>&lt; T &gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a> = typename span&lt;T&gt;::<a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393">reverse_iterator</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>The const iterator type. </p>
+<p>The reverse iterator type </p>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="afb5d860d3f7fc1d4bad147f0a121d144"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb5d860d3f7fc1d4bad147f0a121d144">&#9670;&nbsp;</a></span>mapped() <span class="overload">[1/3]</span></h2>
@@ -263,9 +306,11 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; : _maph(<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), zeroed, _flag).value())</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; byte *addr = _maph.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>();</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">static_cast&lt;</span>span&lt;T&gt; &amp;<span class="keyword">&gt;</span>(*this) = detail::attach_or_reinterpret&lt;T&gt;::attach({addr, <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T)});</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:714</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a7456b95e191ec373af61af6541dd4737"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle::address</a></div><div class="ttdeci">byte * address() const noexcept</div><div class="ttdoc">The address in memory where this mapped view resides. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:494</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
+<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; : _maph(<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), zeroed, _flag).value())</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordtype">byte</span> *addr = _maph.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>();</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">static_cast&lt;</span>span&lt;T&gt; &amp;<span class="keyword">&gt;</span>(*this) = detail::attach_or_reinterpret&lt;T&gt;::attach({addr, <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T)});</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -326,11 +371,16 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() :</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(<span class="keyword">nullptr</span>, 0,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;#ifdef _WIN32</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; byteoffset &amp; ~65535,</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;#<span class="keywordflow">else</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;#endif</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; byteoffset, &amp;sh, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a25d56aca213617d530ab3c9cb6f43df5"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:102</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:714</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a5499feaf6b774e774a26e7decd11e3fa"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i, size_t pagesize) noexcept</div><div class="ttdoc">Round a value to its next lowest page size multiple. </div><div class="ttdef"><b>Definition:</b> utils.hpp:51</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a42fc69cae3dbbf66498545cbe358e2ba"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils::page_size</a></div><div class="ttdeci">size_t page_size() noexcept</div><div class="ttdoc">Returns the smallest page size of this architecture which is useful for calculating direct i/o multip...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a9a6b8b22c06bf6e9362496cdcc3ac40d"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped::mapped</a></div><div class="ttdeci">constexpr mapped()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:155</div></div>
+<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() :</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(<span class="keyword">nullptr</span>, 0,</div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;#ifdef _WIN32</div>
+<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; byteoffset &amp; ~65535,</div>
+<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;#<span class="keywordflow">else</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;#endif</div>
+<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; byteoffset, &amp;sh, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
+<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -398,11 +448,16 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() :</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(&amp;backing, maximum_size,</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;#ifdef _WIN32</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; byteoffset &amp; ~65535,</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;#<span class="keywordflow">else</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;#endif</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; byteoffset, <span class="keyword">nullptr</span>, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a25d56aca213617d530ab3c9cb6f43df5"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:102</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:714</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a5499feaf6b774e774a26e7decd11e3fa"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i, size_t pagesize) noexcept</div><div class="ttdoc">Round a value to its next lowest page size multiple. </div><div class="ttdef"><b>Definition:</b> utils.hpp:51</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a42fc69cae3dbbf66498545cbe358e2ba"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils::page_size</a></div><div class="ttdeci">size_t page_size() noexcept</div><div class="ttdoc">Returns the smallest page size of this architecture which is useful for calculating direct i/o multip...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a9a6b8b22c06bf6e9362496cdcc3ac40d"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped::mapped</a></div><div class="ttdeci">constexpr mapped()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:155</div></div>
+<div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() :</div>
+<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(&amp;backing, maximum_size,</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;#ifdef _WIN32</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; byteoffset &amp; ~65535,</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;#<span class="keywordflow">else</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;#endif</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; byteoffset, <span class="keyword">nullptr</span>, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div>
+<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -411,13 +466,20 @@ template&lt;class T &gt; </div>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_a7456b95e191ec373af61af6541dd4737"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle::address</a></div><div class="ttdeci">byte * address() const noexcept</div><div class="ttdoc">The address in memory where this mapped view resides.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:596</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a42fc69cae3dbbf66498545cbe358e2ba"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils::page_size</a></div><div class="ttdeci">size_t page_size() noexcept</div><div class="ttdoc">Returns the smallest page size of this architecture which is useful for calculating direct i/o multip...</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a5499feaf6b774e774a26e7decd11e3fa"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i, size_t pagesize) noexcept</div><div class="ttdoc">Round a value to its next lowest page size multiple.</div><div class="ttdef"><b>Definition:</b> utils.hpp:51</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:927</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped_html_a25d56aca213617d530ab3c9cb6f43df5"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type.</div><div class="ttdef"><b>Definition:</b> mapped.hpp:102</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped_html_a9a6b8b22c06bf6e9362496cdcc3ac40d"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped::mapped</a></div><div class="ttdeci">constexpr mapped()</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> mapped.hpp:155</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1mapped.html">mapped</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1mapped.js b/classllfio__v2__xxx_1_1mapped.js
index d0443f08..18d4876c 100644
--- a/classllfio__v2__xxx_1_1mapped.js
+++ b/classllfio__v2__xxx_1_1mapped.js
@@ -1,13 +1,10 @@
var classllfio__v2__xxx_1_1mapped =
[
- [ "const_iterator", "classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52", null ],
[ "const_pointer", "classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b", null ],
[ "const_reference", "classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876", null ],
- [ "const_reverse_iterator", "classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e", null ],
[ "difference_type", "classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11", null ],
[ "element_type", "classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda", null ],
[ "extent_type", "classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83", null ],
- [ "index_type", "classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad", null ],
[ "iterator", "classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4", null ],
[ "pointer", "classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209", null ],
[ "reference", "classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df", null ],
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle-members.html b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
index 0857c9fc..58b52a61 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,44 +89,66 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789">_do_max_buffers</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">llfio_v2_xxx::file_handle::_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">llfio_v2_xxx::file_handle::_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_mh</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_reservation</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_sh</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_reserve</b>(extent_type &amp;length, size_type reservation) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_sh</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>clone</b>(size_type reservation, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle::clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a>(extent_pair extent, io_handle &amp;dest, io_handle::extent_type destoffset, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a>(io_handle &amp;dest, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1">file_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2">file_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42">file_handle</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7">file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746">file_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e">file_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42">file_handle</a>(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd">file_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
@@ -137,98 +161,152 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b">io_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a>(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_file_range</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_file_range</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b">lockable_io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">lockable_io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb">lockable_io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4">lockable_io_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">lockable_io_handle</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e">lockable_io_handle</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf">map</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a">map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">mapped_file</a>(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a76fdccd61395f0898fa55c79530b96b3">mapped_file</a>(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">mapped_file</a>(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a2e29622e47efa7a342e3f829b11dabcf">mapped_file</a>(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3">mapped_file_handle</a>(mapped_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e">mapped_file_handle</a>(const mapped_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9">mapped_file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10">mapped_file_handle</a>(file_handle &amp;&amp;o, size_type reservation) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">mapped_random_file</a>(size_type reservation, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38">mapped_temp_file</a>(size_type reservation, path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511">mapped_temp_inode</a>(size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec">mapped_file_handle</a>(file_handle &amp;&amp;o, section_handle::flag sflags) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0">mapped_file_handle</a>(file_handle &amp;&amp;o, size_type reservation, section_handle::flag sflags) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf">mapped_temp_file</a>(size_type reservation, path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close, section_handle::flag sflags=section_handle::flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba">mapped_temp_inode</a>(size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">mapped_uniquely_named_file</a>(size_type reservation, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">maximum_extent</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">operator=</a>(mapped_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303">operator=</a>(const mapped_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle::operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">reserve</a>(size_type reservation=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33">section</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">operator=</a>(mapped_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303">operator=</a>(const mapped_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle::operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">llfio_v2_xxx::lockable_io_handle::operator=</a>(lockable_io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">llfio_v2_xxx::lockable_io_handle::operator=</a>(const lockable_io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>reopen</b>(size_type reservation, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">llfio_v2_xxx::file_handle::reopen</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">reserve</a>(size_type reservation=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33">section</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">swap</a>(mapped_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a>(extent_type offset, extent_type bytes, lock_kind kind) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">swap</a>(mapped_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::lockable_io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock_file_range_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_lock_file_range_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_zero</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_zero_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_zero_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395">underlying_file_maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">update_map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">zero</a>(extent_type offset, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">zero</a>(extent_pair extent, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">llfio_v2_xxx::file_handle::zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~lockable_io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~mapped_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
@@ -237,7 +315,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.html b/classllfio__v2__xxx_1_1mapped__file__handle.html
index f2c6226d..9de7dda7 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::mapped_file_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,10 +87,11 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1mapped__file__handle-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::mapped_file_handle Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+<div class="title">llfio_v2_xxx::mapped_file_handle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -102,12 +105,13 @@ Inheritance diagram for llfio_v2_xxx::mapped_file_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1mapped__file__handle.png" usemap="#llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_map" name="llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device, kept data layout compatible with async_file_handle. " alt="llfio_v2_xxx::file_handle" shape="rect" coords="103,112,300,136"/>
-<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather i/o. " alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,197,80"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="207,56,404,80"/>
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,197,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1file__handle.html" title="A handle to a regular file or device." alt="llfio_v2_xxx::file_handle" shape="rect" coords="103,168,300,192"/>
+<area href="classllfio__v2__xxx_1_1lockable__io__handle.html" title="A handle to something capable of scatter-gather i/o and which can exclude other concurrent users...." alt="llfio_v2_xxx::lockable_io_handle" shape="rect" coords="0,112,197,136"/>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="207,112,404,136"/>
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,197,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,197,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -142,42 +146,43 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a cla
using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
<tr class="separator:ad2fecc4ffb7c0a6ac9c96cfa32408919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16593f18d4a9e83bf696d637ffcc8b5e"><td class="memItemLeft" align="right" valign="top"><a id="a16593f18d4a9e83bf696d637ffcc8b5e"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
<tr class="separator:a16593f18d4a9e83bf696d637ffcc8b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bff548a619fa73951bf561039915076"><td class="memItemLeft" align="right" valign="top"><a id="a7bff548a619fa73951bf561039915076"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
<tr class="separator:a7bff548a619fa73951bf561039915076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b948ce8159d12dab88ed73cd445233"><td class="memItemLeft" align="right" valign="top"><a id="a45b948ce8159d12dab88ed73cd445233"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
<tr class="separator:a45b948ce8159d12dab88ed73cd445233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a609d84c0abc8efadb678237b48d1011b"><td class="memItemLeft" align="right" valign="top"><a id="a609d84c0abc8efadb678237b48d1011b"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a></td></tr>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
<tr class="separator:a609d84c0abc8efadb678237b48d1011b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2088570f26197f7bea41e29659deec52"><td class="memTemplParams" colspan="2"><a id="a2088570f26197f7bea41e29659deec52"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a2088570f26197f7bea41e29659deec52"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a2088570f26197f7bea41e29659deec52"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
<tr class="separator:a2088570f26197f7bea41e29659deec52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49db79127d440f0f8997bd52f0699818"><td class="memTemplParams" colspan="2"><a id="a49db79127d440f0f8997bd52f0699818"></a>
template&lt;class T &gt; </td></tr>
-<tr class="memitem:a49db79127d440f0f8997bd52f0699818"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="memitem:a49db79127d440f0f8997bd52f0699818"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:a49db79127d440f0f8997bd52f0699818"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa25e3ab298152166fc387d8fcfb19a63"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> { <b>unknown</b>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>,
-<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>
- }<tr class="memdesc:aa25e3ab298152166fc387d8fcfb19a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:aa25e3ab298152166fc387d8fcfb19a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
-<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
- }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -193,14 +198,14 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e">mapped_file_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &amp;)=delete</td></tr>
<tr class="memdesc:a2fad4dde057abb62f289372ccbd4af3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use <code>clone()</code>) <br /></td></tr>
<tr class="separator:a2fad4dde057abb62f289372ccbd4af3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ce10c43cc6fd9fc8e1af6501b265ee9"><td class="memItemLeft" align="right" valign="top"><a id="a6ce10c43cc6fd9fc8e1af6501b265ee9"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9">mapped_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o) noexcept</td></tr>
-<tr class="memdesc:a6ce10c43cc6fd9fc8e1af6501b265ee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from file_handle permitted. <br /></td></tr>
-<tr class="separator:a6ce10c43cc6fd9fc8e1af6501b265ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84c13aa6f2e337a3c9a8466988a43a10"><td class="memItemLeft" align="right" valign="top"><a id="a84c13aa6f2e337a3c9a8466988a43a10"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10">mapped_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o, size_type reservation) noexcept</td></tr>
-<tr class="memdesc:a84c13aa6f2e337a3c9a8466988a43a10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from file_handle permitted, this overload also attempts to map the file. <br /></td></tr>
-<tr class="separator:a84c13aa6f2e337a3c9a8466988a43a10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab044f8cb4c4d7d350901ef8b0f50cdec"><td class="memItemLeft" align="right" valign="top"><a id="ab044f8cb4c4d7d350901ef8b0f50cdec"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec">mapped_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o, section_handle::flag sflags) noexcept</td></tr>
+<tr class="memdesc:ab044f8cb4c4d7d350901ef8b0f50cdec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from file_handle permitted. <br /></td></tr>
+<tr class="separator:ab044f8cb4c4d7d350901ef8b0f50cdec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1b61a7306f77febd9d302bc1a3e4df0"><td class="memItemLeft" align="right" valign="top"><a id="aa1b61a7306f77febd9d302bc1a3e4df0"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0">mapped_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&amp;o, size_type reservation, section_handle::flag sflags) noexcept</td></tr>
+<tr class="memdesc:aa1b61a7306f77febd9d302bc1a3e4df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from file_handle permitted, this overload also attempts to map the file. <br /></td></tr>
+<tr class="separator:aa1b61a7306f77febd9d302bc1a3e4df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae865ab7d7aceab91b9556f6704329e57"><td class="memItemLeft" align="right" valign="top"><a id="ae865ab7d7aceab91b9556f6704329e57"></a>
<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:ae865ab7d7aceab91b9556f6704329e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment of mapped_file_handle permitted. <br /></td></tr>
@@ -250,7 +255,7 @@ size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<tr class="memdesc:ac3f6788f559c6e4f0f577eeebf120efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">The address space (to be) reserved for future expansion of this file. <br /></td></tr>
<tr class="separator:ac3f6788f559c6e4f0f577eeebf120efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f9dd6f1c89f8f4cc52bba178f14433"><td class="memItemLeft" align="right" valign="top">result&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">reserve</a> (size_type reservation=0) noexcept</td></tr>
-<tr class="memdesc:a15f9dd6f1c89f8f4cc52bba178f14433"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserve a new amount of address space for mapping future expansion of this file. <a href="#a15f9dd6f1c89f8f4cc52bba178f14433">More...</a><br /></td></tr>
+<tr class="memdesc:a15f9dd6f1c89f8f4cc52bba178f14433"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserve a new amount of address space for mapping future expansion of this file. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">More...</a><br /></td></tr>
<tr class="separator:a15f9dd6f1c89f8f4cc52bba178f14433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a325b7470c78ae88bab851ff054bdbc6c"><td class="memItemLeft" align="right" valign="top"><a id="a325b7470c78ae88bab851ff054bdbc6c"></a>
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">close</a> () noexcept override</td></tr>
@@ -260,31 +265,50 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a> () noexcept override</td></tr>
<tr class="memdesc:a4072a4f2448ef3b8c7075fa8734acf71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a4072a4f2448ef3b8c7075fa8734acf71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2850681ae5fe8f7c270cca3cba7c929"><td class="memItemLeft" align="right" valign="top"><a id="aa2850681ae5fe8f7c270cca3cba7c929"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:aa2850681ae5fe8f7c270cca3cba7c929"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc2e847ad7de6d05e9ed95bb1b3aac71"><td class="memItemLeft" align="right" valign="top"><a id="adc2e847ad7de6d05e9ed95bb1b3aac71"></a>
-result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:adc2e847ad7de6d05e9ed95bb1b3aac71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0723a6ba04a578754bb601541be832d0"><td class="memItemLeft" align="right" valign="top"><a id="a0723a6ba04a578754bb601541be832d0"></a>
-virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">maximum_extent</a> () const noexcept override</td></tr>
-<tr class="memdesc:a0723a6ba04a578754bb601541be832d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current maximum permitted extent of the file. <br /></td></tr>
+<tr class="memitem:aaed2968352e0cb76177ac48866716b01"><td class="memItemLeft" align="right" valign="top"><a id="aaed2968352e0cb76177ac48866716b01"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>reopen</b> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:aaed2968352e0cb76177ac48866716b01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8af62df0b252eec23e018fe79284608"><td class="memTemplParams" colspan="2"><a id="ad8af62df0b252eec23e018fe79284608"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad8af62df0b252eec23e018fe79284608"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad8af62df0b252eec23e018fe79284608"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f460e22e7e6856bdf0dae8134987292"><td class="memTemplParams" colspan="2"><a id="a8f460e22e7e6856bdf0dae8134987292"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a8f460e22e7e6856bdf0dae8134987292"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a8f460e22e7e6856bdf0dae8134987292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60a43bab3e863c72083ce6e3e1820c3c"><td class="memTemplParams" colspan="2"><a id="a60a43bab3e863c72083ce6e3e1820c3c"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a60a43bab3e863c72083ce6e3e1820c3c"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a60a43bab3e863c72083ce6e3e1820c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9a87793288b496940bdae0ff07cae0c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept override</td></tr>
+<tr class="memdesc:ac9a87793288b496940bdae0ff07cae0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">More...</a><br /></td></tr>
+<tr class="separator:ac9a87793288b496940bdae0ff07cae0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0723a6ba04a578754bb601541be832d0"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">maximum_extent</a> () const noexcept override</td></tr>
+<tr class="memdesc:a0723a6ba04a578754bb601541be832d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current maximum permitted extent of the file, after updating the map. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">More...</a><br /></td></tr>
<tr class="separator:a0723a6ba04a578754bb601541be832d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a5da3834fd354c5c3d38284b84ef75"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a> (extent_type newsize) noexcept override</td></tr>
-<tr class="memdesc:a01a5da3834fd354c5c3d38284b84ef75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the current maximum permitted extent of the mapped file to the given extent, avoiding any new allocation of physical storage where supported, and mapping or unmapping any new pages up to the reservation to reflect the new maximum extent. If the new size exceeds the reservation, <code>reserve()</code> will be called to increase the reservation. <a href="#a01a5da3834fd354c5c3d38284b84ef75">More...</a><br /></td></tr>
+<tr class="memdesc:a01a5da3834fd354c5c3d38284b84ef75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the current maximum permitted extent of the mapped file to the given extent, avoiding any new allocation of physical storage where supported, and mapping or unmapping any new pages up to the reservation to reflect the new maximum extent. If the new size exceeds the reservation, <code>reserve()</code> will be called to increase the reservation. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">More...</a><br /></td></tr>
<tr class="separator:a01a5da3834fd354c5c3d38284b84ef75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb5a5b1e9f5bd7b1555edbacd057972c"><td class="memItemLeft" align="right" valign="top">result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">update_map</a> () noexcept</td></tr>
-<tr class="memdesc:acb5a5b1e9f5bd7b1555edbacd057972c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently update the mapping to match that of the underlying file, returning the size of the underlying file. <a href="#acb5a5b1e9f5bd7b1555edbacd057972c">More...</a><br /></td></tr>
+<tr class="memdesc:acb5a5b1e9f5bd7b1555edbacd057972c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently update the mapping to match that of the underlying file, returning the new current maximum permitted extent of the file. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">More...</a><br /></td></tr>
<tr class="separator:acb5a5b1e9f5bd7b1555edbacd057972c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecc5c8f55550a0c83e63b73e50e5ed0b"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:aecc5c8f55550a0c83e63b73e50e5ed0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="#aecc5c8f55550a0c83e63b73e50e5ed0b">More...</a><br /></td></tr>
-<tr class="separator:aecc5c8f55550a0c83e63b73e50e5ed0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4ca3f09ab781322c22f903d31ec7aa9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:ae4ca3f09ab781322c22f903d31ec7aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the mapped file. <a href="#ae4ca3f09ab781322c22f903d31ec7aa9">More...</a><br /></td></tr>
-<tr class="separator:ae4ca3f09ab781322c22f903d31ec7aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a269e37ceff90d2d92fa65e7d5a17c9f5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="memdesc:a269e37ceff90d2d92fa65e7d5a17c9f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the mapped file. <a href="#a269e37ceff90d2d92fa65e7d5a17c9f5">More...</a><br /></td></tr>
-<tr class="separator:a269e37ceff90d2d92fa65e7d5a17c9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85989f7ebfd02ed54fbfa0afa6550d90"><td class="memItemLeft" align="right" valign="top">virtual result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">zero</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> extent, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a85989f7ebfd02ed54fbfa0afa6550d90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">More...</a><br /></td></tr>
+<tr class="separator:a85989f7ebfd02ed54fbfa0afa6550d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35d3754438d64a63a7fe63c5ade23a62"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept override</td></tr>
+<tr class="separator:a35d3754438d64a63a7fe63c5ade23a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e6b193a3b7f6df7196035b3d96810f1"><td class="memTemplParams" colspan="2"><a id="a0e6b193a3b7f6df7196035b3d96810f1"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a0e6b193a3b7f6df7196035b3d96810f1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a0e6b193a3b7f6df7196035b3d96810f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f3cd384750d8f8c4d95f627259366da"><td class="memTemplParams" colspan="2"><a id="a6f3cd384750d8f8c4d95f627259366da"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a6f3cd384750d8f8c4d95f627259366da"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a6f3cd384750d8f8c4d95f627259366da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada1b53fe464605c47c06e3ea69d9da62"><td class="memTemplParams" colspan="2"><a id="ada1b53fe464605c47c06e3ea69d9da62"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ada1b53fe464605c47c06e3ea69d9da62"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ada1b53fe464605c47c06e3ea69d9da62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0cfbde678b809518ca005251ec64808"><td class="memItemLeft" align="right" valign="top"><a id="ad0cfbde678b809518ca005251ec64808"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:ad0cfbde678b809518ca005251ec64808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -293,55 +317,173 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
-<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
-<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr>
-<tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr>
-<tr class="separator:ae7735588338065ede0ab9b7f979bc65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e46c6ea379152eb559ab15990f7c467"><td class="memItemLeft" align="right" valign="top"><a id="a6e46c6ea379152eb559ab15990f7c467"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a6e46c6ea379152eb559ab15990f7c467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience initialiser list based overload for <code>read()</code> <br /></td></tr>
-<tr class="separator:a6e46c6ea379152eb559ab15990f7c467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f7485307a0704aa1680e5785be2035d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5f7485307a0704aa1680e5785be2035d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a5f7485307a0704aa1680e5785be2035d">More...</a><br /></td></tr>
-<tr class="separator:a5f7485307a0704aa1680e5785be2035d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a9910116cc5751398e6b55f06a9a793"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5a9910116cc5751398e6b55f06a9a793"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a5a9910116cc5751398e6b55f06a9a793">More...</a><br /></td></tr>
-<tr class="separator:a5a9910116cc5751398e6b55f06a9a793"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c5c229b11f488d0e9bff74c65737db2"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a3c5c229b11f488d0e9bff74c65737db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4055bb02680af02dcc189f0461bad503"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">lock_range</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a4055bb02680af02dcc189f0461bad503"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2919da8c2520240c4e65f18f68872fd0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">try_lock_range</a> (extent_type offset, extent_type bytes, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a> kind) noexcept</td></tr>
-<tr class="separator:a2919da8c2520240c4e65f18f68872fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">unlock_range</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
-<tr class="memdesc:a0cd024de36cc7cb63d9189f45a9944e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="#a0cd024de36cc7cb63d9189f45a9944e9">More...</a><br /></td></tr>
-<tr class="separator:a0cd024de36cc7cb63d9189f45a9944e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; std::vector&lt; std::pair&lt; extent_type, extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a> () const noexcept</td></tr>
-<tr class="memdesc:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">More...</a><br /></td></tr>
-<tr class="separator:a1c2c1c27b1be6414415b3fc3fcda88b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a> () const noexcept</td></tr>
-<tr class="memdesc:ade38a6d55a4eda3c6d5e196683b129a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. <a href="#ade38a6d55a4eda3c6d5e196683b129a7">More...</a><br /></td></tr>
-<tr class="separator:ade38a6d55a4eda3c6d5e196683b129a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83884eca7b4cd09125a5cf8a155e6052"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a83884eca7b4cd09125a5cf8a155e6052"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a83884eca7b4cd09125a5cf8a155e6052">More...</a><br /></td></tr>
-<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:aa276caa8542cca700a2574459395ff60"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">reopen</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:aa276caa8542cca700a2574459395ff60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e30345e9aa4fa263b009efe2c97466a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; std::vector&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">extents</a> () const noexcept</td></tr>
+<tr class="memdesc:a6e30345e9aa4fa263b009efe2c97466a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <a href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">More...</a><br /></td></tr>
+<tr class="separator:a6e30345e9aa4fa263b009efe2c97466a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">clone_extents_to</a> (<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> extent, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, io_handle::extent_type destoffset, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. <a href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">More...</a><br /></td></tr>
+<tr class="separator:a2aea4109a6ac4323b8cb4ea435ec9c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memItemLeft" align="right" valign="top"><a id="a4c7af63bc67f6eacd7097e4cae3f85ce"></a>
+result&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce">clone_extents_to</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;dest, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept</td></tr>
+<tr class="memdesc:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a4c7af63bc67f6eacd7097e4cae3f85ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a800b4d046b9648a9a4a69a7797548ee4"><td class="memItemLeft" align="right" valign="top"><a id="a800b4d046b9648a9a4a69a7797548ee4"></a>
+result&lt; extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4">zero</a> (extent_type offset, extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a800b4d046b9648a9a4a69a7797548ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a800b4d046b9648a9a4a69a7797548ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplParams" colspan="2"><a id="afab4b38fba3730a36ba0b2f849dc6777"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:afab4b38fba3730a36ba0b2f849dc6777"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:afab4b38fba3730a36ba0b2f849dc6777"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplParams" colspan="2"><a id="aab4e4f580aee606c0796c6352f1f327a"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:aab4e4f580aee606c0796c6352f1f327a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:aab4e4f580aee606c0796c6352f1f327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplParams" colspan="2"><a id="a9e64021bc1f570d8c0c8b9c413981289"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a9e64021bc1f570d8c0c8b9c413981289"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_zero_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a9e64021bc1f570d8c0c8b9c413981289"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a469019e3bbcd7b37499b8604af713b40"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a469019e3bbcd7b37499b8604af713b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for exclusive access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">More...</a><br /></td></tr>
+<tr class="separator:a469019e3bbcd7b37499b8604af713b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">try_lock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">More...</a><br /></td></tr>
+<tr class="separator:a6e6a25ad5d9efd45e69d22e70a754a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a561ef83b4fe400b59c9d92444913c180"><td class="memItemLeft" align="right" valign="top"><a id="a561ef83b4fe400b59c9d92444913c180"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">unlock_file</a> () noexcept</td></tr>
+<tr class="memdesc:a561ef83b4fe400b59c9d92444913c180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired exclusive lock. <br /></td></tr>
+<tr class="separator:a561ef83b4fe400b59c9d92444913c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa24a432125e5b51b13f21d9b74fa4721"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa24a432125e5b51b13f21d9b74fa4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the inode referred to by the open handle for shared access. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">More...</a><br /></td></tr>
+<tr class="separator:aa24a432125e5b51b13f21d9b74fa4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8e3d809cb954d99e228ee756bac1c64"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">try_lock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:ad8e3d809cb954d99e228ee756bac1c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">More...</a><br /></td></tr>
+<tr class="separator:ad8e3d809cb954d99e228ee756bac1c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memItemLeft" align="right" valign="top"><a id="afc5ba16c0377a56b7e1a66a9c6d0a703"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">unlock_file_shared</a> () noexcept</td></tr>
+<tr class="memdesc:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a previously acquired shared lock. <br /></td></tr>
+<tr class="separator:afc5ba16c0377a56b7e1a66a9c6d0a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">lock_file_range</a> (extent_type offset, extent_type bytes, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">More...</a><br /></td></tr>
+<tr class="separator:a0ece4f0a48e1e67debc438a9742a1f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9582b139a2b92ff13708a4de547c5605"><td class="memItemLeft" align="right" valign="top"><a id="a9582b139a2b92ff13708a4de547c5605"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a9582b139a2b92ff13708a4de547c5605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memItemLeft" align="right" valign="top"><a id="aa87c3e22aa12084cb48fb29c5b10c78d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lock_file_range</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa87c3e22aa12084cb48fb29c5b10c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplParams" colspan="2"><a id="a393d056936c3f262aff76ed406858a95"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a393d056936c3f262aff76ed406858a95"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a393d056936c3f262aff76ed406858a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplParams" colspan="2"><a id="ae3b16c444914200a7e5ab3cd0ba2d002"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ae3b16c444914200a7e5ab3cd0ba2d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplParams" colspan="2"><a id="a7727a23852d90bd5ea4e47044d20cfee"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a7727a23852d90bd5ea4e47044d20cfee"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_lock_file_range_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a7727a23852d90bd5ea4e47044d20cfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">unlock_file_range</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
+<tr class="memdesc:a5572735777dfdd3f7c5c1f6dc8260287"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Unlocks a byte range previously locked. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">More...</a><br /></td></tr>
+<tr class="separator:a5572735777dfdd3f7c5c1f6dc8260287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
@@ -359,12 +501,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -385,6 +531,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -397,6 +551,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -435,27 +593,65 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
-<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
-<tr class="memitem:a281a4659f90aef5b74c460611b11455a"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">mapped_file</a> (size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a281a4659f90aef5b74c460611b11455a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76fdccd61395f0898fa55c79530b96b3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a76fdccd61395f0898fa55c79530b96b3">mapped_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a76fdccd61395f0898fa55c79530b96b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aec48e49378e8b4ef60db282d2360b89f"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">mapped_random_file</a> (size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:aec48e49378e8b4ef60db282d2360b89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e47ccbb537d1c97a533e08d708b1a38"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38">mapped_temp_file</a> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
-<tr class="separator:a6e47ccbb537d1c97a533e08d708b1a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa0d1ea0506c347668791f8c0ce357511"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511">mapped_temp_inode</a> (size_type reservation=0, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:aa0d1ea0506c347668791f8c0ce357511"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc3218ef645dfd337c12d6419bbd953"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">mapped_file</a> (size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td></tr>
+<tr class="separator:adcc3218ef645dfd337c12d6419bbd953"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e29622e47efa7a342e3f829b11dabcf"><td class="memItemLeft" align="right" valign="top"><a id="a2e29622e47efa7a342e3f829b11dabcf"></a>
+static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a2e29622e47efa7a342e3f829b11dabcf">mapped_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td></tr>
+<tr class="memdesc:a2e29622e47efa7a342e3f829b11dabcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a2e29622e47efa7a342e3f829b11dabcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af37487aa40108b00514831dff4416907"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">mapped_uniquely_named_file</a> (size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td></tr>
+<tr class="separator:af37487aa40108b00514831dff4416907"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf92db7aa8035d84a42deccf5f3bc7cf"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf">mapped_temp_file</a> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close, section_handle::flag sflags=section_handle::flag::none) noexcept</td></tr>
+<tr class="separator:abf92db7aa8035d84a42deccf5f3bc7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aceebfe22aead50d7e03f98aa629b2aba"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba">mapped_temp_inode</a> (size_type reservation=0, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</td></tr>
+<tr class="separator:aceebfe22aead50d7e03f98aa629b2aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e6b3e9806b328a687a55e955b885a3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a09e6b3e9806b328a687a55e955b885a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3141a85996e46a3cc6b238d321198e47"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:a3141a85996e46a3cc6b238d321198e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b7aa986243527fe224425f61c179709"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:a8b7aa986243527fe224425f61c179709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428114e3c8628c0621b1aa156051651c"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a428114e3c8628c0621b1aa156051651c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eff21e1833be0c21f72477c593fadc5"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
@@ -463,11 +659,57 @@ Static Public Member Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
+<tr class="memitem:a3132ada04fd41e1f04ffa32ab3a3a789"><td class="memItemLeft" align="right" valign="top"><a id="a3132ada04fd41e1f04ffa32ab3a3a789"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789">_do_max_buffers</a> () const noexcept override</td></tr>
+<tr class="memdesc:a3132ada04fd41e1f04ffa32ab3a3a789"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a3132ada04fd41e1f04ffa32ab3a3a789"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a298d19de0ece33a268f2338c52d784e2"><td class="memItemLeft" align="right" valign="top"><a id="a298d19de0ece33a268f2338c52d784e2"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a298d19de0ece33a268f2338c52d784e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a298d19de0ece33a268f2338c52d784e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a549e187a9cac72a073e4bc488e7e1dc7"><td class="memItemLeft" align="right" valign="top"><a id="a549e187a9cac72a073e4bc488e7e1dc7"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:a549e187a9cac72a073e4bc488e7e1dc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a549e187a9cac72a073e4bc488e7e1dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afed76a4061f91f4a6e05962bb2eadd68"><td class="memItemLeft" align="right" valign="top"><a id="afed76a4061f91f4a6e05962bb2eadd68"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="memdesc:afed76a4061f91f4a6e05962bb2eadd68"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:afed76a4061f91f4a6e05962bb2eadd68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe8d8d2addba4af591226c2f3bd1a236"><td class="memItemLeft" align="right" valign="top"><a id="abe8d8d2addba4af591226c2f3bd1a236"></a>
+result&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_reserve</b> (extent_type &amp;<a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, size_type reservation) noexcept</td></tr>
+<tr class="separator:abe8d8d2addba4af591226c2f3bd1a236"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc2b24484565bcb0cf654adf2f732f7e"><td class="memItemLeft" align="right" valign="top"><a id="adc2b24484565bcb0cf654adf2f732f7e"></a>
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a> () const noexcept</td></tr>
<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a7b16c3e3c0645f2d90e0506160419661"><td class="memItemLeft" align="right" valign="top"><a id="a7b16c3e3c0645f2d90e0506160419661"></a>
@@ -479,18 +721,15 @@ size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_reservation</b>
<tr class="memitem:ac106503b2605e6840f7167133df35e31"><td class="memItemLeft" align="right" valign="top"><a id="ac106503b2605e6840f7167133df35e31"></a>
<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_mh</b></td></tr>
<tr class="separator:ac106503b2605e6840f7167133df35e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2c2b2847fd039b9c255633e6031817a"><td class="memItemLeft" align="right" valign="top"><a id="aa2c2b2847fd039b9c255633e6031817a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
-<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -506,22 +745,43 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td><code>file_handle</code></td><td>Least</td><td>Syscall</td><td>POSIX guarantees (usually)</td><td>Least gotcha </td></tr>
<tr>
-<td><code>async_file_handle</code></td><td>More</td><td>Most (syscall + malloc/free + reactor)</td><td>POSIX guarantees (usually)</td><td>Makes no sense to use with cached i/o as it's a very expensive way to call <code>memcpy()</code> </td></tr>
-<tr>
<td><code>mapped_file_handle</code></td><td>Most</td><td>Least</td><td>None</td><td>Cannot be used with uncached i/o </td></tr>
</table>
<p>All the major OSs on all the major 64 bit CPU architectures now offer at least 127 Tb of address spaces to user mode processes. This makes feasible mapping multi-Tb files directly into memory, and thus avoiding the syscall overhead involved when reading and writing. This becames <b>especially</b> important with next-gen storage devices capable of Direct Access Storage (DAX) like Optane from 2018 onwards, performance via syscalls will always be but a fraction of speaking directly to the storage device via directly mapped memory.</p>
<p>As an example of the gains, on Microsoft Windows to read or write 1Kb using the standard syscalls takes about fifteen times longer than the exact same i/o via mapped memory. On Linux, OS X or FreeBSD the gain is considerably lower, a 1Kb i/o might only be 50% slower via syscalls than memory maps. However for lots of say 64 byte i/o, the gain of memory maps over syscalls is unsurpassable.</p>
<p>This class combines a <code>file_handle</code> with a <code>section_handle</code> and a <code>map_handle</code> to implement a fully memory mapped <code>file_handle</code>. The whole file is always mapped entirely into memory, and <code>read()</code> and <code>write()</code> i/o is performed directly with the map. Reads always return the original mapped data, and do not fill any buffers passed in. For obvious reasons the utility of this class on 32-bit systems is limited, but can be useful when used with smaller files.</p>
-<p>Note that zero length files cannot be memory mapped, and writes past the maximum extent do NOT auto-extend the size of the file, rather the data written beyond the maximum valid extent has undefined kernel-specific behaviour, which includes segfaulting. You must therefore always <code>truncate(newsize)</code> to resize the file and its maps before you can read or write to it, and be VERY careful to not read or write beyond the maximum extent of the file.</p>
-<p>Therefore, when a file is created or is otherwise of zero length, <code>address()</code> will return a null pointer. Similarly, calling <code>truncate(0)</code> will close the map and section handles, they will be recreated on next truncation to a non-zero size.</p>
-<p>For better performance when handling files which are growing, there is a concept of "address space reservation" via <code>reserve()</code> and <code>capacity()</code>, which on some kernels is automatically and efficiently expanded into when the underlying file grows. The implementation asks the kernel to set out a contiguous region of pages matching that reservation, and to map the file into the beginning of the reservation. The remainder of the pages may be inaccessible and may generate a segfault, or they may automatically reflect any growth in the underlying file. This is why <code>read()</code> and <code>write()</code> only know about the reservation size, and will read and write memory up to that reservation size, without checking if the memory involved exists or not yet. You are guaranteed that <code>address()</code> will not return a new value unless you truncate from a bigger length to a smaller length, or you call <code>reserve()</code> with a new reservation or <code>truncate()</code> with a value bigger than the reservation.</p>
-<p><code>maximum_extent()</code> reports the last truncated length of the mapped file (possibly by any process in the system) up to the reservation limit, NOT the maximum extent of the underlying file. When you know that another process has extended the file and you wish to map the newly appended data, you can call <code>update_map()</code> which guarantees that the mapping your process sees is up to date, rather than relying on any kernel-specific automatic mapping. Whether automatic or enforced by <code>update_map()</code>, the reservation limit will not be exceeded nor will <code>address()</code> suddenly return something different.</p>
-<p>It is thus up to you to detect that the reservation has been exhausted, and to reserve a new reservation which will change the value returned by <code>address()</code>. This entirely manual system is a bit tedious and cumbersome to use, but as mapping files is an expensive operation given TLB shootdown, we leave it up to the end user to decide when to expend the cost of mapping.</p>
-<dl class="section warning"><dt>Warning</dt><dd>You must be cautious when the file is being extended by third parties which are not using this <code>mapped_file_handle</code> to write the new data. With unified page cache kernels, mixing mapped and normal i/o is generally safe except at the end of a file where race conditions and outright kernel bugs tend to abound. To avoid these, solely and exclusively use a dedicated handle configured to atomic append only to do the appends. </dd></dl>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
+<p>Note that zero length files cannot be memory mapped on most platforms, and writes past the maximum extent do NOT auto-extend the size of the file, rather the data written beyond the maximum valid extent has undefined kernel-specific behaviour, which includes segfaulting. You must therefore always <code>truncate(newsize)</code> to resize the file and its maps before you can read or write to it, and be VERY careful to not read or write beyond the maximum extent of the file.</p>
+<p>On most platforms, when a file is created or is otherwise of zero length, <code>address()</code> will return a null pointer. Similarly, calling <code>truncate(0)</code> will close the map and section handles, they will be recreated on next truncation to a non-zero size.</p>
+<p>For better performance when handling files which are growing, there is a concept of "address space reservation" via <code>reserve()</code> and <code>capacity()</code>, which on some kernels is automatically and efficiently expanded into when the underlying file grows. The implementation asks the kernel to set out a contiguous region of pages matching that reservation, and to map the file into the beginning of the reservation. The remainder of the pages may be inaccessible and may generate a segfault, or they may automatically reflect any growth in the underlying file. This is why <code>read()</code> and <code>write()</code> only know about the reservation size, and will read and write memory up to that reservation size, without checking if the memory involved exists or not yet.</p>
+<p>You are guaranteed on POSIX only that <code>address()</code> will not return a new value unless:</p>
+<ol type="1">
+<li>You truncate from a bigger length to a smaller length.</li>
+<li>You call <code>reserve()</code> with a new reservation.</li>
+<li>You call <code>truncate()</code> with a value bigger than the reservation.</li>
+<li>You call <code>relink()</code> with <code>atomic_replace = false</code>, which may on some platforms require a close-open file descriptor cycle as part of its implementation.</li>
+</ol>
+<p>You are guaranteed on Windows only that <code>address()</code> will not return a new value unless:</p>
+<ol type="1">
+<li>You truncate from a bigger length to a smaller length.</li>
+<li>You call <code>reserve()</code> with a new reservation.</li>
+<li>You call <code>truncate()</code> with a value bigger than the reservation.</li>
+<li>You call <code>relink()</code>, which requires closing and reopening the map because you cannot rename a file with an open map on Windows.</li>
+</ol>
+<p><code>maximum_extent()</code> in mapped file handle is an alias for <code>update_map()</code>. <code>update_map()</code> fetches the maximum extent of the underlying file, and if it has changed from the map's length, the map is updated to match the underlying file, up to the reservation limit. You can of course explicitly call <code>update_map()</code> whenever you need the map to reflect changes to the maximum extent of the underlying file.</p>
+<p>It is up to you to detect that the reservation has been exhausted, and to reserve a new reservation which will change the value returned by <code>address()</code>. This entirely manual system is a bit tedious and cumbersome to use, but as mapping files is an expensive operation given TLB shootdown, we leave it up to the end user to decide when to expend the cost of mapping.</p>
+<dl class="section warning"><dt>Warning</dt><dd>You must be cautious when the file is being extended by third parties which are not using this <code>mapped_file_handle</code> to write the new data. With unified page cache kernels, mixing mapped and normal i/o is generally safe except at the end of a file where race conditions and outright kernel bugs tend to abound. To avoid these, solely and exclusively use a dedicated handle configured to atomic append only to do the appends.</dd>
+<dd>
+For 64-bit systems under heavy load, or all 32-bit systems, one can run out of enough contiguous virtual memory address space to map all of a large file. This generally presents itself as an error code comparing equal to <code>errc::not_enough_memory</code>, and it can appear from the constructor, <code>truncate()</code>, <code>reserve()</code> and most of the other functions in this class not inherited from base classes. <code>update_map()</code> never returns <code>errc::not_enough_memory</code>, but <code>relink()</code> may do so, due to the potential map teardown and recreate.</dd></dl>
+<h2><a class="anchor" id="autotoc_md14"></a>
+Microsoft Windows only</h2>
+<p>Microsoft Windows can have quite different semantics to POSIX, which are important to be aware of.</p>
+<p>On Windows, the length of any section object for a file can never exceed the maximum extent of the file. Open section objects therefore clamp the valid maximum extent of a file to no lower than the largest of the section objects open upon the file. This is enforced by Windows, which will return an error if you try to truncate a file to smaller than any of its section objects on the system.</p>
+<p>Windows only implements address space reservation for sections opened with write permissions. LLFIO names the section object backing every mapped file uniquely to the file's inode, and all those section objects are shared between all LLFIO processes for the current Windows session. This means that if any one process updates a section object's length, the section's length gets updated for all processes, and all maps of that section in all processes get automatically updated.</p>
+<p>This works great if, and only if, the very first mapping of any file is with a writable file handle, as that permits the global section object to be writable, and all other LLFIO processes then discover that writable global section object. If however the very first mapping of any file is with a read-only file handle, that creates a read-only section object, and that in turn <b>disables all address space reservation permanently for all processes</b> using that file.</p>
+<p>So long as you ensure that any shared mapped file is always opened first with writable privileges, which is usually the case, all works like POSIX on Microsoft Windows. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
<div class="memitem">
<div class="memproto">
@@ -530,32 +790,42 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of write reordering barrier which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aa25e3ab298152166fc387d8fcfb19a63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa25e3ab298152166fc387d8fcfb19a63">&#9670;&nbsp;</a></span>lock_kind</h2>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -564,29 +834,88 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle::lock_kind</a></td>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The kinds of concurrent user exclusion which can be performed. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"></a>shared&#160;</td><td class="fielddoc"><p>Exclude only those requesting an exclusive lock on the same inode. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"></a>exclusive&#160;</td><td class="fielddoc"><p>Exclude those requesting any kind of lock on the same inode. </p>
-</td></tr>
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
</table>
-<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; unknown,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; shared, <span class="comment">//!&lt; Exclude only those requesting an exclusive lock on the same inode.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> exclusive <span class="comment">//!&lt; Exclude those requesting any kind of lock on the same inode.</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
</div>
</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a823391cea8818da742c0d4c573f7300f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a2aea4109a6ac4323b8cb4ea435ec9c94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2aea4109a6ac4323b8cb4ea435ec9c94">&#9670;&nbsp;</a></span>clone_extents_to()</h2>
<div class="memitem">
<div class="memproto">
@@ -595,22 +924,40 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td class="memname">virtual result&lt;<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&gt; llfio_v2_xxx::file_handle::clone_extents_to </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt;&#160;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>&#160;&gt;()</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&#160;</td>
+ <td class="paramname"><em>extent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ <td class="paramtype">io_handle::extent_type&#160;</td>
+ <td class="paramname"><em>destoffset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>{}</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_copy_now</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>emulate_if_unsupported</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -620,33 +967,24 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
+<p>Clones the extents referred to by <code>extent</code> to <code>dest</code> at <code>destoffset</code>. This is how you ought to copy file content, including within the same file. This is fundamentally a racy call with respect to concurrent modification of the files. </p>
+<p>Some of the filesystems on the major operating systems implement copy-on-write extent reference counting, and thus can very cheaply link a "copy" of extents in one file into another file (at the time of writing - Linux: XFS, btrfs, ocfs2, smbfs; Mac OS: APFS; Windows: ReFS, CIFS). Upon first write into an extent, only then is a new copy formed for the specific extents being modified. Note that extent cloning is usually only possible in cluster sized amounts, so if the portion you clone is not so aligned, new extents will be allocated for the spill into non-aligned portions. Obviously, cloning an entire file in a single shot does not have that problem.</p>
+<p>Networked filing systems typically can also implement remote extent copying, such that extents can be copied between files entirely upon the remote server, and avoiding the copy going over the network. This is usually far more efficient.</p>
+<p>This implementation first enumerates the valid extents for the region requested, and only clones extents which are reported as valid. It then iterates the platform specific syscall to cause the extents to be cloned in <code>utils::page_allocator&lt;T&gt;</code> sized chunks (i.e. the next large page greater or equal to 1Mb). Generally speaking, if the dedicated syscalls fail, the implementation falls back to a user space emulation, unless <code>emulate_if_unsupported</code> is false.</p>
+<p>If the region being cloned does not exist in the source file, the region is truncated to what is available. If the destination file is not big enough to receive the cloned region, it is extended. If the clone is occurring within the same inode, you should ensure that the regions do not overlap, as cloning regions which overlap has platform-specific semantics. If they do overlap, you should always set <code>force_copy_now</code> for portable code.</p>
+<dl class="section note"><dt>Note</dt><dd>The current implementation does not permit overlapping clones within the same inode to differ by less than <code>utils::page_allocator&lt;T&gt;</code> sized chunks. It will fail with an error code comparing equal to <code>errc::invalid_parameter</code>.</dd></dl>
+<p>If you really want the copy to happen now, and not later via copy-on-write, set <code>force_copy_now</code>. Note that this forces <code>emulate_if_unsupported</code> to true.</p>
+<p>If <code>dest</code> is not a <code>file_handle</code>, <code>sendfile()</code> is used and the destination offset and gaps in the source valid extents are ignored. </p>
</div>
</div>
-<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -655,44 +993,52 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
-<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
<div class="memitem">
<div class="memproto">
@@ -701,10 +1047,21 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -713,9 +1070,67 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -743,16 +1158,17 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
-<a id="a1c2c1c27b1be6414415b3fc3fcda88b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c2c1c27b1be6414415b3fc3fcda88b2">&#9670;&nbsp;</a></span>extents()</h2>
+<a id="a6e30345e9aa4fa263b009efe2c97466a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e30345e9aa4fa263b009efe2c97466a">&#9670;&nbsp;</a></span>extents()</h2>
<div class="memitem">
<div class="memproto">
@@ -761,7 +1177,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;std::vector&lt;std::pair&lt;extent_type, extent_type&gt; &gt; &gt; llfio_v2_xxx::file_handle::extents </td>
+ <td class="memname">virtual result&lt;std::vector&lt;<a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&gt; &gt; llfio_v2_xxx::file_handle::extents </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -777,7 +1193,7 @@ For portability, you can only assume that barriers write order for a single hand
<p>Returns a list of currently valid extents for this open file. WARNING: racy! </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of pairs of extent offset + extent length representing the valid extents in this file. Filing systems which do not support extents return a single extent matching the length of the file rather than returning an error. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">llfio_v2_xxx::fast_random_file_handle</a>.</p>
</div>
</div>
@@ -849,12 +1265,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="a5a9910116cc5751398e6b55f06a9a793"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a9910116cc5751398e6b55f06a9a793">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[1/3]</span></h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
<div class="memitem">
<div class="memproto">
@@ -863,28 +1279,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -898,33 +1308,51 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-
-<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </p>
-<ul>
-<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
-<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
-</ul>
-<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to lock. </td></tr>
- <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return, <code>errc::timed_out</code>, <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+</div>
+</div>
+<a id="a469019e3bbcd7b37499b8604af713b40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a469019e3bbcd7b37499b8604af713b40">&#9670;&nbsp;</a></span>lock_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Locks the inode referred to by the open handle for exclusive access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
-<a id="a3c5c229b11f488d0e9bff74c65737db2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c5c229b11f488d0e9bff74c65737db2">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[2/3]</span></h2>
+<a id="a0ece4f0a48e1e67debc438a9742a1f4c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ece4f0a48e1e67debc438a9742a1f4c">&#9670;&nbsp;</a></span>lock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -933,10 +1361,22 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::lockable_io_handle::lock_file_range </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -952,18 +1392,38 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; bytes += i.size();</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>, d);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::file_handle::lock_kind::shared</a></div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Note that this may, or MAY NOT, observe whole file locks placed with <code>lock()</code>, <code>lock_shared()</code> etc. </p>
+<p>Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform:</p>
+<ul>
+<li>Any fd closed on an inode must release all byte range locks on that inode for all other fds. If your OS isn't new enough to support the non-insane lock API, <code>flag::byte_lock_insanity</code> will be set in flags() after the first call to this function.</li>
+<li>Threads replace each other's locks, indeed locks replace each other's locks.</li>
+</ul>
+<p>You almost cetainly should use your choice of an <code>algorithm::shared_fs_mutex::*</code> instead of this as those are more portable and performant, or use the <code>SharedMutex</code> modelling member functions which lock the whole inode for exclusive or shared access.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level API which you should not use directly in portable code. Another issue is that atomic lock upgrade/downgrade, if your platform implements that (you should assume it does not in portable code), means that on POSIX you need to <em>release</em> the old <code>extent_guard</code> after creating a new one over the same byte range, otherwise the old <code>extent_guard</code>'s destructor will simply unlock the range entirely. On Windows however upgrade/downgrade locks overlay, so on that platform you must <em>not</em> release the old <code>extent_guard</code>. Look into <code>algorithm::shared_fs_mutex::safe_byte_ranges</code> for a portable solution.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>An extent guard, the destruction of which will call unlock(). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">offset</td><td>The offset to lock. Note that on POSIX the top bit is always cleared before use as POSIX uses signed transport for offsets. If you want an advisory rather than mandatory lock on Windows, one technique is to force top bit set so the region you lock is not the one you will i/o - obviously this reduces maximum file size to (2^63)-1. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to lock. Setting this and the offset to zero causes the whole file to be locked. </td></tr>
+ <tr><td class="paramname">kind</td><td>Whether the lock is to be shared or exclusive. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the lock must complete, else it is cancelled. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return, errc::timed_out, errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>.</p>
+
</div>
</div>
-<a id="a4055bb02680af02dcc189f0461bad503"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4055bb02680af02dcc189f0461bad503">&#9670;&nbsp;</a></span>lock_range() <span class="overload">[3/3]</span></h2>
+<a id="aa24a432125e5b51b13f21d9b74fa4721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa24a432125e5b51b13f21d9b74fa4721">&#9670;&nbsp;</a></span>lock_file_shared()</h2>
<div class="memitem">
<div class="memproto">
@@ -972,37 +1432,27 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::lock_range </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::lockable_io_handle::lock_file_shared </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; {</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; bytes += i.size();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(reqs.offset, bytes, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>, d);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::file_handle::lock_kind::exclusive</a></div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode. </div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>Locks the inode referred to by the open handle for shared access. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="a281a4659f90aef5b74c460611b11455a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a281a4659f90aef5b74c460611b11455a">&#9670;&nbsp;</a></span>mapped_file() <span class="overload">[1/2]</span></h2>
+<a id="adcc3218ef645dfd337c12d6419bbd953"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcc3218ef645dfd337c12d6419bbd953">&#9670;&nbsp;</a></span>mapped_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1050,7 +1500,13 @@ For portability, you can only assume that barriers write order for a single hand
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>sflags</em> = <code>section_handle::flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1072,24 +1528,50 @@ For portability, you can only assume that barriers write order for a single hand
<tr><td class="paramname">_mode</td><td>How to open the file. </td></tr>
<tr><td class="paramname">_creation</td><td>How to create the file. </td></tr>
<tr><td class="paramname">_caching</td><td>How to ask the kernel to cache the file. </td></tr>
- <tr><td class="paramname">flags</td><td>Any additional custom behaviours.</td></tr>
+ <tr><td class="paramname">flags</td><td>Any additional custom behaviours. </td></tr>
+ <tr><td class="paramname">sflags</td><td>Any additional custom behaviours for the internal <code>section_handle</code>.</td></tr>
</table>
</dd>
</dl>
<p>Note that if the file is currently zero sized, no mapping occurs now, but later when <code>truncate()</code> or <code>update_map()</code> is called.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values which the constructors for <code>file_handle</code>, <code>section_handle</code> and <code>map_handle</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>)</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> errc::invalid_argument;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; OUTCOME_TRY(fh, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, _path, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">switch</span>(_creation)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// Attempt mapping now (may silently fail if file is empty)</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> mfh(std::move(fh), reservation);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> {std::move(mfh)};</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>:</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">creation::truncate_existing</a>:</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="comment">// Don&#39;t attempt mapping now as file will be empty</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> mfh(std::move(fh));</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; mfh._reservation = reservation;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> {std::move(mfh)};</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">llfio_v2_xxx::handle::creation::always_new</a></div><div class="ttdoc">If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a4aa124e03ec6376c70d9e07c548d0d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle::mapped_file_handle</a></div><div class="ttdeci">constexpr mapped_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:134</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">llfio_v2_xxx::handle::creation::truncate_existing</a></div><div class="ttdoc">Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and un...</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values which the constructors for file_handle, section_handle and map_handle can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; {</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>)</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> errc::invalid_argument;</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;fh, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, _path, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">switch</span>(_creation)</div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">// Attempt mapping now (may silently fail if file is empty)</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> mfh(std::move(fh), reservation, sflags);</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> {std::move(mfh)};</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>:</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">creation::truncate_existing</a>:</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>:</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="comment">// Don&#39;t attempt mapping now as file will be empty</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> mfh(std::move(fh), sflags);</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; mfh._reservation = reservation;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> {std::move(mfh)};</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
+<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div>
+<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
+<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a76fdccd61395f0898fa55c79530b96b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a76fdccd61395f0898fa55c79530b96b3">&#9670;&nbsp;</a></span>mapped_file() <span class="overload">[2/2]</span></h2>
+<a id="abf92db7aa8035d84a42deccf5f3bc7cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf92db7aa8035d84a42deccf5f3bc7cf">&#9670;&nbsp;</a></span>mapped_temp_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1098,40 +1580,46 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_file </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_temp_file </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
+ <td class="paramtype">size_type&#160;</td>
+ <td class="paramname"><em>reservation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em>, </td>
+ <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a></code>, </td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a></code>, </td>
+ <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>sflags</em> = <code>section_handle::flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1145,14 +1633,19 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">mapped_file</a>(0, base, _path, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>); }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a281a4659f90aef5b74c460611b11455a"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">llfio_v2_xxx::mapped_file_handle::mapped_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:189</div></div>
+<p>Create a mapped file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>mapped_uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div>
+<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">mapped_uniquely_named_file</a>(reservation, tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, sflags) :</div>
+<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">mapped_file</a>(reservation, tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, sflags);</div>
+<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="aec48e49378e8b4ef60db282d2360b89f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aec48e49378e8b4ef60db282d2360b89f">&#9670;&nbsp;</a></span>mapped_random_file()</h2>
+<a id="aceebfe22aead50d7e03f98aa629b2aba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aceebfe22aead50d7e03f98aa629b2aba">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
<div class="memitem">
<div class="memproto">
@@ -1161,16 +1654,16 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_random_file </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_temp_inode </td>
<td>(</td>
<td class="paramtype">size_type&#160;</td>
- <td class="paramname"><em>reservation</em>, </td>
+ <td class="paramname"><em>reservation</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
+ <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1181,14 +1674,14 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>sflags</em> = <code>section_handle::flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1202,17 +1695,26 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create an mapped file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; result&lt;mapped_file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">mapped_file</a>(reservation, dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a281a4659f90aef5b74c460611b11455a"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">llfio_v2_xxx::mapped_file_handle::mapped_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:189</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
+<p><em>Securely</em> create a mapped file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; {</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">file_handle::temp_inode</a>(dir, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> ret(std::move(v), sflags);</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; ret._reservation = reservation;</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a6e47ccbb537d1c97a533e08d708b1a38"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e47ccbb537d1c97a533e08d708b1a38">&#9670;&nbsp;</a></span>mapped_temp_file()</h2>
+<a id="af37487aa40108b00514831dff4416907"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af37487aa40108b00514831dff4416907">&#9670;&nbsp;</a></span>mapped_uniquely_named_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1221,7 +1723,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_temp_file </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_uniquely_named_file </td>
<td>(</td>
<td class="paramtype">size_type&#160;</td>
<td class="paramname"><em>reservation</em>, </td>
@@ -1229,8 +1731,8 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
- <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>()</code>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1241,20 +1743,20 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a></code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>&#160;</td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>sflags</em> = <code>section_handle::flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1268,18 +1770,32 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create a mapped file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>mapped_random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">mapped_random_file</a>(reservation, tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">mapped_file</a>(reservation, tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a281a4659f90aef5b74c460611b11455a"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">llfio_v2_xxx::mapped_file_handle::mapped_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:189</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_aec48e49378e8b4ef60db282d2360b89f"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">llfio_v2_xxx::mapped_file_handle::mapped_random_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_random_file(size_type reservation, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:228</div></div>
+<p>Create an mapped file handle creating a uniquely named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; {</div>
+<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; {</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div>
+<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; result&lt;mapped_file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">mapped_file</a>(reservation, dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, sflags);</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; }</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
+<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="aa0d1ea0506c347668791f8c0ce357511"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa0d1ea0506c347668791f8c0ce357511">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
<div class="memitem">
<div class="memproto">
@@ -1288,51 +1804,37 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_temp_inode </td>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
<td>(</td>
- <td class="paramtype">size_type&#160;</td>
- <td class="paramname"><em>reservation</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p><em>Securely</em> create a mapped file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">file_handle::temp_inode</a>(dir, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; ret._reservation = reservation;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a4aa124e03ec6376c70d9e07c548d0d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle::mapped_file_handle</a></div><div class="ttdeci">constexpr mapped_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:134</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a1eff21e1833be0c21f72477c593fadc5"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle::temp_inode</a></div><div class="ttdeci">static result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</div></div>
+
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
+<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="ade38a6d55a4eda3c6d5e196683b129a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade38a6d55a4eda3c6d5e196683b129a7">&#9670;&nbsp;</a></span>max_buffers()</h2>
+<a id="a0723a6ba04a578754bb601541be832d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0723a6ba04a578754bb601541be832d0">&#9670;&nbsp;</a></span>maximum_extent()</h2>
<div class="memitem">
<div class="memproto">
@@ -1341,7 +1843,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::mapped_file_handle::maximum_extent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -1349,17 +1851,19 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
-<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
-<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
-<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
+<p>Return the current maximum permitted extent of the file, after updating the map. </p>
+<p>Firstly calls <code>update_map()</code> to efficiently update the map to match that of the underlying file, then returns the number of bytes in the map which are valid to access. Because of the call to <code>update_map()</code>, this call is not particularly efficient, and you ought to cache its value where possible. </p>
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">llfio_v2_xxx::file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; {</div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> (0 == _reservation) ? <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395">underlying_file_maximum_extent</a>() : const_cast&lt;<a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> *&gt;(this)-&gt;<a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">update_map</a>();</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
@@ -1387,7 +1891,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
</div>
@@ -1417,82 +1921,124 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a3141a85996e46a3cc6b238d321198e47"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::random_file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a5f7485307a0704aa1680e5785be2035d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
<div class="memitem">
<div class="memproto">
@@ -1501,9 +2047,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1520,12 +2066,12 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Read data from the open handle. </p>
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
@@ -1535,13 +2081,14 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="ae4ca3f09ab781322c22f903d31ec7aa9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4ca3f09ab781322c22f903d31ec7aa9">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
+<a id="a35d3754438d64a63a7fe63c5ade23a62"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35d3754438d64a63a7fe63c5ade23a62">&#9670;&nbsp;</a></span>relink()</h2>
<div class="memitem">
<div class="memproto">
@@ -1550,16 +2097,28 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::mapped_file_handle::read </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::mapped_file_handle::relink </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1573,25 +2132,27 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-
-<p>Read data from the mapped file. </p>
-<dl class="section note"><dt>Note</dt><dd>Because this implementation never copies memory, you can pass in buffers with a null address. As this function never reads any memory, no attempt to trap signal raises can be made, this falls onto the user of this function. See <code>QUICKCPPLIB_NAMESPACE::signal_guard</code> for a helper function.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers read, which will never be the buffers input, because they will point into the mapped view. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
+ <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a073cdca57e3e3718d2eb285be51d5c92"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle::read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Read data from the mapped view. </div></div>
-</div><!-- fragment -->
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">llfio_v2_xxx::fs_handle</a>.</p>
+
</div>
</div>
-<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8700edc9ecd4dd35d5aad7c65dd0eca2">&#9670;&nbsp;</a></span>relink()</h2>
+<a id="aa276caa8542cca700a2574459395ff60"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa276caa8542cca700a2574459395ff60">&#9670;&nbsp;</a></span>reopen()</h2>
<div class="memitem">
<div class="memproto">
@@ -1600,22 +2161,16 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::relink </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::reopen </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>caching_</em> = <code>caching::unchanged</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1626,29 +2181,19 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td></td>
<td>)</td>
- <td></td><td></td>
+ <td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
- <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
- <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reopen this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
+<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, if not changing the mode, we change caching via <code>fcntl()</code>, if changing the mode we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX if changing the mode, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
</div>
</div>
@@ -1684,7 +2229,11 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<p>Note that this is an expensive call, and <code>address()</code> may return a different value afterwards. This call will fail if the underlying file has zero length. </p>
-
+<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div>
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keyword">auto</span> <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = (extent_type) -1;</div>
+<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> _reserve(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, reservation);</div>
+<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
@@ -1713,11 +2262,50 @@ For portability, you can only assume that barriers write order for a single hand
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
+<a id="ac9a87793288b496940bdae0ff07cae0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9a87793288b496940bdae0ff07cae0c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::mapped_file_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">llfio_v2_xxx::io_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; {</div>
+<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; OUTCOME_TRY(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">file_handle::set_multiplexer</a>(c));</div>
+<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">file_handle::multiplexer</a>());</div>
+<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a428114e3c8628c0621b1aa156051651c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a428114e3c8628c0621b1aa156051651c">&#9670;&nbsp;</a></span>temp_file()</h2>
@@ -1769,13 +2357,13 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a3141a85996e46a3cc6b238d321198e47"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle::random_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:143</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
+<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>();</div>
+<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> name.empty() ? <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">uniquely_named_file</a>(tempdirh, _mode, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>) : <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(tempdirh, name, _mode, _creation, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -1819,7 +2407,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -1862,8 +2450,8 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
-<a id="a2919da8c2520240c4e65f18f68872fd0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2919da8c2520240c4e65f18f68872fd0">&#9670;&nbsp;</a></span>try_lock_range()</h2>
+<a id="a6e6a25ad5d9efd45e69d22e70a754a9e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e6a25ad5d9efd45e69d22e70a754a9e">&#9670;&nbsp;</a></span>try_lock_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1872,42 +2460,27 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">extent_guard</a>&gt; llfio_v2_xxx::file_handle::try_lock_range </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">lock_kind</a>&#160;</td>
- <td class="paramname"><em>kind</em>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">lock_range</a>(offset, bytes, kind, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a5a9910116cc5751398e6b55f06a9a793"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle::lock_range</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept</div><div class="ttdoc">EXTENSION: Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: </div></div>
-</div><!-- fragment -->
+
+<p>Tries to lock the inode referred to by the open handle for exclusive access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
</div>
</div>
-<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
+<a id="ad8e3d809cb954d99e228ee756bac1c64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8e3d809cb954d99e228ee756bac1c64">&#9670;&nbsp;</a></span>try_lock_file_shared()</h2>
<div class="memitem">
<div class="memproto">
@@ -1916,10 +2489,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
+ <td class="memname">virtual bool llfio_v2_xxx::lockable_io_handle::try_lock_file_shared </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
@@ -1929,22 +2501,15 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Tries to lock the inode referred to by the open handle for shared access, returning <code>false</code> if lock is currently unavailable. </p>
+<p>Note that this may, or may not, interact with the byte range lock extensions. See <code>unique_file_lock</code> for a RAII locker. </p><dl class="section user"><dt>Errors returnable\n Any of the values POSIX flock() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
</div>
</div>
-<a id="a0cd024de36cc7cb63d9189f45a9944e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0cd024de36cc7cb63d9189f45a9944e9">&#9670;&nbsp;</a></span>unlock_range()</h2>
+<a id="a8b7aa986243527fe224425f61c179709"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b7aa986243527fe224425f61c179709">&#9670;&nbsp;</a></span>uniquely_named_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1953,16 +2518,28 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual void llfio_v2_xxx::file_handle::unlock_range </td>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::uniquely_named_file </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1972,28 +2549,36 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-
-<p>EXTENSION: Unlocks a byte range previously locked. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fcntl() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">llfio_v2_xxx::fast_random_file_handle</a>.</p>
-
+<p>Create a file handle creating a uniquely named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; result&lt;file_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="acb5a5b1e9f5bd7b1555edbacd057972c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acb5a5b1e9f5bd7b1555edbacd057972c">&#9670;&nbsp;</a></span>update_map()</h2>
+<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
<div class="memitem">
<div class="memproto">
@@ -2002,27 +2587,35 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;extent_type&gt; llfio_v2_xxx::mapped_file_handle::update_map </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
+<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-<p>Efficiently update the mapping to match that of the underlying file, returning the size of the underlying file. </p>
-<p>This call is often considerably less heavyweight than <code>truncate(newsize)</code>, and should be used where possible.</p>
-<p>If the internal section and map handle are invalid, they are restored unless the underlying file is zero length. </p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
</div>
</div>
-<a id="a83884eca7b4cd09125a5cf8a155e6052"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83884eca7b4cd09125a5cf8a155e6052">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>
+<a id="a5572735777dfdd3f7c5c1f6dc8260287"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5572735777dfdd3f7c5c1f6dc8260287">&#9670;&nbsp;</a></span>unlock_file_range()</h2>
<div class="memitem">
<div class="memproto">
@@ -2031,16 +2624,16 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">virtual void llfio_v2_xxx::lockable_io_handle::unlock_file_range </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2055,23 +2648,23 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>EXTENSION: Unlocks a byte range previously locked. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ <tr><td class="paramname">offset</td><td>The offset to unlock. This should be an offset previously locked. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The number of bytes to unlock. This should be a byte extent previously locked. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fcntl() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>.</p>
</div>
</div>
-<a id="ab500784aa806dc7c2d90028d2f72de57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab500784aa806dc7c2d90028d2f72de57">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>
+<a id="acb5a5b1e9f5bd7b1555edbacd057972c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb5a5b1e9f5bd7b1555edbacd057972c">&#9670;&nbsp;</a></span>update_map()</h2>
<div class="memitem">
<div class="memproto">
@@ -2080,43 +2673,29 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;size_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td class="memname">result&lt;extent_type&gt; llfio_v2_xxx::mapped_file_handle::update_map </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
-</div><!-- fragment -->
+
+<p>Efficiently update the mapping to match that of the underlying file, returning the new current maximum permitted extent of the file. </p>
+<p>This call is often considerably less heavyweight than <code>truncate(newsize)</code>, and should be used where possible.</p>
+<p>If the internal section and map handle are invalid, they are restored unless the underlying file is zero length.</p>
+<p>If the size of the underlying file has become zero length, the internal section and map handle are closed.</p>
+<p>This function never returns <code>errc::not_enough_memory</code>, even if it calls <code>reserve()</code>. </p>
+
</div>
</div>
-<a id="a269e37ceff90d2d92fa65e7d5a17c9f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a269e37ceff90d2d92fa65e7d5a17c9f5">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
@@ -2125,9 +2704,9 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::mapped_file_handle::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -2144,29 +2723,29 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Write data to the mapped file. </p>
-<dl class="section note"><dt>Note</dt><dd>This call traps signals and structured exception throws using <code>QUICKCPPLIB_NAMESPACE::signal_guard</code>. Instantiating a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> somewhere much higher up in the call stack will improve performance enormously. The signal guard may cost less than 100 CPU cycles depending on how you configure it. If you don't want the guard, you can write memory directly using <code>address()</code>.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which will never be the buffers input because they will point at where the data was copied into the mapped view. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>Ignored. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>If during the attempt to write the buffers to the map a <code>SIGBUS</code> or <code>EXCEPTION_IN_PAGE_ERROR</code> is raised, an error code comparing equal to <code>errc::no_space_on_device</code> will be returned. This may not always be the cause of the raised signal, but it is by far the most likely. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None if a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> is already instanced. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a90afda5433656ed35a5814e048cc1f1b"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Write data to the mapped view. </div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="aecc5c8f55550a0c83e63b73e50e5ed0b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aecc5c8f55550a0c83e63b73e50e5ed0b">&#9670;&nbsp;</a></span>zero()</h2>
+<a id="a85989f7ebfd02ed54fbfa0afa6550d90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85989f7ebfd02ed54fbfa0afa6550d90">&#9670;&nbsp;</a></span>zero()</h2>
<div class="memitem">
<div class="memproto">
@@ -2177,14 +2756,8 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="memname">virtual result&lt;extent_type&gt; llfio_v2_xxx::mapped_file_handle::zero </td>
<td>(</td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">extent_type&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a>&#160;</td>
+ <td class="paramname"><em>extent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -2210,17 +2783,19 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="section return"><dt>Returns</dt><dd>The bytes zeroed. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">offset</td><td>The offset to start zeroing from. </td></tr>
- <tr><td class="paramname">bytes</td><td>The number of bytes to zero. </td></tr>
+ <tr><td class="paramname">extent</td><td>The offset to start zeroing from and the number of bytes to zero. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + offset, (size_type) bytes}));</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> bytes;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled.</dt><dd><code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">llfio_v2_xxx::file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; {</div>
+<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + extent.offset, (size_type) extent.length}));</div>
+<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> extent.length;</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -2229,13 +2804,43 @@ For portability, you can only assume that barriers write order for a single hand
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a281467f83f70f2e12aaedf5847fd818c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">llfio_v2_xxx::io_handle::set_multiplexer</a></div><div class="ttdeci">virtual result&lt; void &gt; set_multiplexer(io_multiplexer *c=this_thread::multiplexer()) noexcept</div><div class="ttdoc">Sets the i/o multiplexer this handle will use to implement read(), write() and barrier().</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:472</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_a4aa124e03ec6376c70d9e07c548d0d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle::mapped_file_handle</a></div><div class="ttdeci">constexpr mapped_file_handle()</div><div class="ttdoc">Default constructor.</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:263</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_adcc3218ef645dfd337c12d6419bbd953"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">llfio_v2_xxx::mapped_file_handle::mapped_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:356</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a8b7aa986243527fe224425f61c179709"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle::uniquely_named_file</a></div><div class="ttdeci">static result&lt; file_handle &gt; uniquely_named_file(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:163</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_a23f61ce914c2564b6eaf885a13a19395"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395">llfio_v2_xxx::mapped_file_handle::underlying_file_maximum_extent</a></div><div class="ttdeci">result&lt; extent_type &gt; underlying_file_maximum_extent() const noexcept</div><div class="ttdoc">The maximum extent of the underlying file.</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:504</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1file__handle_html_a1eff21e1833be0c21f72477c593fadc5"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle::temp_inode</a></div><div class="ttdeci">static result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1path__discovery_html_a2dd74ea752f3f511d58ccccdcac7f4fd"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery::storage_backed_temporary_files_directory</a></div><div class="ttdeci">const path_handle &amp; storage_backed_temporary_files_directory() noexcept</div><div class="ttdoc">Returns a reference to an open handle to a verified temporary directory where files created are store...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ac44b02d62334e55b99a5668d67ad484e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">llfio_v2_xxx::io_handle::multiplexer</a></div><div class="ttdeci">io_multiplexer * multiplexer() const noexcept</div><div class="ttdoc">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:105</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_acb5a5b1e9f5bd7b1555edbacd057972c"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">llfio_v2_xxx::mapped_file_handle::update_map</a></div><div class="ttdeci">result&lt; extent_type &gt; update_map() noexcept</div><div class="ttdoc">Efficiently update the mapping to match that of the underlying file, returning the new current maximu...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_af37487aa40108b00514831dff4416907"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">llfio_v2_xxx::mapped_file_handle::mapped_uniquely_named_file</a></div><div class="ttdeci">static result&lt; mapped_file_handle &gt; mapped_uniquely_named_file(size_type reservation, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:409</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:927</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdeci">@ append</div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">llfio_v2_xxx::handle::creation::always_new</a></div><div class="ttdeci">@ always_new</div><div class="ttdoc">If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">llfio_v2_xxx::handle::creation::truncate_existing</a></div><div class="ttdeci">@ truncate_existing</div><div class="ttdoc">Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and un...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.js b/classllfio__v2__xxx_1_1mapped__file__handle.js
index 13f4667e..9620b7bc 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.js
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.js
@@ -1,5 +1,7 @@
var classllfio__v2__xxx_1_1mapped__file__handle =
[
+ [ "awaitable", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
[ "buffer_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a16593f18d4a9e83bf696d637ffcc8b5e", null ],
[ "buffers_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a45b948ce8159d12dab88ed73cd445233", null ],
[ "caching", "classllfio__v2__xxx_1_1mapped__file__handle.html#ab3901a37406c7e6701c6ca8af09dbcce", null ],
@@ -15,102 +17,153 @@ var classllfio__v2__xxx_1_1mapped__file__handle =
[ "mode", "classllfio__v2__xxx_1_1mapped__file__handle.html#a9b6f5ad1c2698e1476483df81aa66027", null ],
[ "path_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa4776885b13cc548a9a7ceb926dadc4c", null ],
[ "path_view_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
[ "size_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2947864bd359b008c1ae36046abd79ca", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "barrier_kind", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
- [ "nowait_data_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
- [ "wait_data_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
- [ "nowait_all", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
- [ "wait_all", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
- ] ],
- [ "lock_kind", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63", [
- [ "unknown", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a", null ],
- [ "shared", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e", null ],
- [ "exclusive", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7", null ]
- ] ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1mapped__file__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44", null ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3", null ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e", null ],
- [ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9", null ],
- [ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10", null ],
+ [ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec", null ],
+ [ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0", null ],
[ "~mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1f74f4fc555c609bb6056a7a4b6f8d77", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
[ "_fetch_inode", "classllfio__v2__xxx_1_1mapped__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
+ [ "_reserve", "classllfio__v2__xxx_1_1mapped__file__handle.html#abe8d8d2addba4af591226c2f3bd1a236", null ],
[ "address", "classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1mapped__file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa2850681ae5fe8f7c270cca3cba7c929", null ],
- [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
[ "capacity", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe", null ],
- [ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
[ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
- [ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#adc2e847ad7de6d05e9ed95bb1b3aac71", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94", null ],
+ [ "clone_extents_to", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce", null ],
[ "close", "classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
[ "current_path", "classllfio__v2__xxx_1_1mapped__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
- [ "extents", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2", null ],
+ [ "extents", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6e30345e9aa4fa263b009efe2c97466a", null ],
[ "flags", "classllfio__v2__xxx_1_1mapped__file__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1mapped__file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1mapped__file__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1mapped__file__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1mapped__file__handle.html#a501aa723172f6852e82738b0969278ae", null ],
[ "is_nvram", "classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1mapped__file__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1mapped__file__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1mapped__file__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1mapped__file__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1mapped__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1mapped__file__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5a9910116cc5751398e6b55f06a9a793", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2", null ],
- [ "lock_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4055bb02680af02dcc189f0461bad503", null ],
+ [ "link", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
+ [ "lock_file", "classllfio__v2__xxx_1_1mapped__file__handle.html#a469019e3bbcd7b37499b8604af713b40", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a9582b139a2b92ff13708a4de547c5605", null ],
+ [ "lock_file_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d", null ],
+ [ "lock_file_shared", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa24a432125e5b51b13f21d9b74fa4721", null ],
[ "map", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf", null ],
[ "map", "classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a", null ],
- [ "max_buffers", "classllfio__v2__xxx_1_1mapped__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
[ "maximum_extent", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
[ "native_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57", null ],
[ "operator=", "classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57", null ],
[ "page_size", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
- [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
- [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
- [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9", null ],
+ [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
[ "release", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71", null ],
- [ "relink", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
+ [ "relink", "classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa276caa8542cca700a2574459395ff60", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1mapped__file__handle.html#aaed2968352e0cb76177ac48866716b01", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "reserve", "classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433", null ],
[ "section", "classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578", null ],
[ "section", "classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33", null ],
- [ "service", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae7735588338065ede0ab9b7f979bc65a", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c", null ],
[ "st_dev", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1mapped__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
[ "swap", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad0cfbde678b809518ca005251ec64808", null ],
- [ "swap", "classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee", null ],
[ "swap", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee", null ],
[ "truncate", "classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75", null ],
- [ "try_lock_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2919da8c2520240c4e65f18f68872fd0", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_lock_file", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e", null ],
+ [ "try_lock_file_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a393d056936c3f262aff76ed406858a95", null ],
+ [ "try_lock_file_range_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002", null ],
+ [ "try_lock_file_range_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7727a23852d90bd5ea4e47044d20cfee", null ],
+ [ "try_lock_file_shared", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad8e3d809cb954d99e228ee756bac1c64", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0e6b193a3b7f6df7196035b3d96810f1", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6f3cd384750d8f8c4d95f627259366da", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#ada1b53fe464605c47c06e3ea69d9da62", null ],
+ [ "try_reopen", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad8af62df0b252eec23e018fe79284608", null ],
+ [ "try_reopen_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8f460e22e7e6856bdf0dae8134987292", null ],
+ [ "try_reopen_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#a60a43bab3e863c72083ce6e3e1820c3c", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1mapped__file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "try_zero", "classllfio__v2__xxx_1_1mapped__file__handle.html#afab4b38fba3730a36ba0b2f849dc6777", null ],
+ [ "try_zero_for", "classllfio__v2__xxx_1_1mapped__file__handle.html#aab4e4f580aee606c0796c6352f1f327a", null ],
+ [ "try_zero_until", "classllfio__v2__xxx_1_1mapped__file__handle.html#a9e64021bc1f570d8c0c8b9c413981289", null ],
[ "underlying_file_maximum_extent", "classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395", null ],
[ "unique_id", "classllfio__v2__xxx_1_1mapped__file__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
- [ "unlock_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9", null ],
+ [ "unlock_file", "classllfio__v2__xxx_1_1mapped__file__handle.html#a561ef83b4fe400b59c9d92444913c180", null ],
+ [ "unlock_file_range", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5572735777dfdd3f7c5c1f6dc8260287", null ],
+ [ "unlock_file_shared", "classllfio__v2__xxx_1_1mapped__file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703", null ],
[ "update_map", "classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c", null ],
- [ "write", "classllfio__v2__xxx_1_1mapped__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052", null ],
[ "write", "classllfio__v2__xxx_1_1mapped__file__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
- [ "write", "classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5", null ],
- [ "zero", "classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b", null ],
- [ "_caching", "classllfio__v2__xxx_1_1mapped__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
+ [ "write", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1mapped__file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "zero", "classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90", null ],
+ [ "zero", "classllfio__v2__xxx_1_1mapped__file__handle.html#a800b4d046b9648a9a4a69a7797548ee4", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
[ "_devid", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_flags", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_inode", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
[ "_mh", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac106503b2605e6840f7167133df35e31", null ],
[ "_reservation", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661", null ],
- [ "_service", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa2c2b2847fd039b9c255633e6031817a", null ],
[ "_sh", "classllfio__v2__xxx_1_1mapped__file__handle.html#ad9c316b496569c50fec3e42c0b15e8c9", null ],
[ "_v", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.png b/classllfio__v2__xxx_1_1mapped__file__handle.png
index 70c4d124..df16e1d1 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.png
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1path__handle-members.html b/classllfio__v2__xxx_1_1path__handle-members.html
index 421b880c..9941c44a 100644
--- a/classllfio__v2__xxx_1_1path__handle-members.html
+++ b/classllfio__v2__xxx_1_1path__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,63 +89,70 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.ht
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a">clone_to_path_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32">exists</a>(path_view_type path) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623">exists</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006">path_handle</a>(native_handle_type h, caching caching=caching::all, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">path_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df">path_handle</a>(path_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">swap</a>(path_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~path_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c">path_handle</a>(native_handle_type h, caching caching, flag flags)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">path_handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df">path_handle</a>(path_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">swap</a>(path_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~path_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -151,7 +160,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.ht
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__handle.html b/classllfio__v2__xxx_1_1path__handle.html
index bdedcab3..0298750c 100644
--- a/classllfio__v2__xxx_1_1path__handle.html
+++ b/classllfio__v2__xxx_1_1path__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,6 +86,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.ht
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1path__handle-members.html">List of all members</a> </div>
@@ -102,10 +105,10 @@ Inheritance diagram for llfio_v2_xxx::path_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1path__handle.png" usemap="#llfio_5Fv2_5Fxxx::path_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::path_5Fhandle_map" name="llfio_5Fv2_5Fxxx::path_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,180,24"/>
-<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated. " alt="llfio_v2_xxx::directory_handle" shape="rect" coords="0,112,180,136"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,180,24"/>
+<area href="classllfio__v2__xxx_1_1directory__handle.html" title="A handle to a directory which can be enumerated." alt="llfio_v2_xxx::directory_handle" shape="rect" coords="0,112,180,136"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -141,10 +144,10 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a> ()</td></tr>
<tr class="memdesc:a01603d237d7f48f649abebd25bb7daaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a01603d237d7f48f649abebd25bb7daaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a6c8781b524b288d5c511ef0c5d2006"><td class="memItemLeft" align="right" valign="top"><a id="a8a6c8781b524b288d5c511ef0c5d2006"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006">path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
-<tr class="memdesc:a8a6c8781b524b288d5c511ef0c5d2006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
-<tr class="separator:a8a6c8781b524b288d5c511ef0c5d2006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32d48210385cea74aefa112f1b41275c"><td class="memItemLeft" align="right" valign="top"><a id="a32d48210385cea74aefa112f1b41275c"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c">path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>)</td></tr>
+<tr class="memdesc:a32d48210385cea74aefa112f1b41275c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a32d48210385cea74aefa112f1b41275c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa02b3f0672f6cbfbafcd01fc2c3b639e"><td class="memItemLeft" align="right" valign="top"><a id="aa02b3f0672f6cbfbafcd01fc2c3b639e"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">path_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:aa02b3f0672f6cbfbafcd01fc2c3b639e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
@@ -169,14 +172,18 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a8752c5e4f4189c7bdfcd6eccb637bef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a8752c5e4f4189c7bdfcd6eccb637bef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a978bbd5a812eaf2b08f220ba94a42d5a"><td class="memItemLeft" align="right" valign="top"><a id="a978bbd5a812eaf2b08f220ba94a42d5a"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a">clone_to_path_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a978bbd5a812eaf2b08f220ba94a42d5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>path_handle</code> returning edition of <code>handle::clone()</code> <br /></td></tr>
+<tr class="separator:a978bbd5a812eaf2b08f220ba94a42d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03229b163152b540c3eb6edd41cf5d32"><td class="memItemLeft" align="right" valign="top">result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32">exists</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>) const noexcept</td></tr>
+<tr class="separator:a03229b163152b540c3eb6edd41cf5d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad397dbfc5cd5eb53f203a2c1c9540a2e"><td class="memItemLeft" align="right" valign="top"><a id="ad397dbfc5cd5eb53f203a2c1c9540a2e"></a>
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">close</a> () noexcept override</td></tr>
<tr class="memdesc:ad397dbfc5cd5eb53f203a2c1c9540a2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:ad397dbfc5cd5eb53f203a2c1c9540a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae260bf811da1b17c142f51fbb53476bf"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a> () const noexcept</td></tr>
-<tr class="separator:ae260bf811da1b17c142f51fbb53476bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -187,6 +194,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
@@ -208,12 +217,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -234,6 +247,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -246,6 +267,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -273,22 +298,31 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ad9352e3a23b30b446b22933df9ab9623"><td class="memItemLeft" align="right" valign="top"><a id="ad9352e3a23b30b446b22933df9ab9623"></a>
+static result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623">exists</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>) noexcept</td></tr>
+<tr class="memdesc:ad9352e3a23b30b446b22933df9ab9623"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:ad9352e3a23b30b446b22933df9ab9623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a579c3752604c65325d16a6f8c818c6ab"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> path) noexcept</td></tr>
<tr class="separator:a579c3752604c65325d16a6f8c818c6ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a464c3dfe19b544dfcb0527d83407026b"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> _path) noexcept</td></tr>
+<tr class="memitem:a464c3dfe19b544dfcb0527d83407026b"><td class="memItemLeft" align="right" valign="top"><a id="a464c3dfe19b544dfcb0527d83407026b"></a>
+static result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> _path) noexcept</td></tr>
+<tr class="memdesc:a464c3dfe19b544dfcb0527d83407026b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a464c3dfe19b544dfcb0527d83407026b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
@@ -299,8 +333,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="ae260bf811da1b17c142f51fbb53476bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae260bf811da1b17c142f51fbb53476bf">&#9670;&nbsp;</a></span>clone()</h2>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
<div class="memitem">
<div class="memproto">
@@ -309,7 +343,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::clone </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@@ -317,14 +351,13 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying). </p>
-<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">auto</span> *h = <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a> *<span class="keyword">&gt;</span>(<span class="keyword">this</span>);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; OUTCOME_TRY(ret, h-&gt;clone());</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">auto</span> nativeh = ret.release();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>(nativeh);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aea43917ff5cc28f3da3c622c0b3382c4"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">llfio_v2_xxx::handle::handle</a></div><div class="ttdeci">constexpr handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> handle.hpp:192</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a01603d237d7f48f649abebd25bb7daaf"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">llfio_v2_xxx::path_handle::path_handle</a></div><div class="ttdeci">constexpr path_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> path_handle.hpp:66</div></div>
-</div><!-- fragment -->
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -352,16 +385,17 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
-<a id="a579c3752604c65325d16a6f8c818c6ab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a579c3752604c65325d16a6f8c818c6ab">&#9670;&nbsp;</a></span>path() <span class="overload">[1/2]</span></h2>
+<a id="a03229b163152b540c3eb6edd41cf5d32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a03229b163152b540c3eb6edd41cf5d32">&#9670;&nbsp;</a></span>exists()</h2>
<div class="memitem">
<div class="memproto">
@@ -370,36 +404,25 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::path </td>
+ <td class="memname">result&lt;bool&gt; llfio_v2_xxx::path_handle::exists </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a>&#160;</td>
- <td class="paramname"><em>path</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
+ <td class="paramname"><em>path</em></td><td>)</td>
+ <td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Create a path handle opening access to some location on the filing system. Some operating systems provide a particularly lightweight method of doing this (Linux: <code>O_PATH</code>, Windows: no access perms) which is much faster than opening a directory. For other systems, we open a directory with read only permissions.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
+<p>Returns whether a file entry exists more efficiently that opening and closing a <code>file_handle</code>. Note that this can be a rich source of TOCTOU security attacks! Be aware that symbolic links are NOT dereferenced, so a subsequent file handle open may fail. </p>
</div>
</div>
-<a id="a464c3dfe19b544dfcb0527d83407026b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a464c3dfe19b544dfcb0527d83407026b">&#9670;&nbsp;</a></span>path() <span class="overload">[2/2]</span></h2>
+<a id="a579c3752604c65325d16a6f8c818c6ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a579c3752604c65325d16a6f8c818c6ab">&#9670;&nbsp;</a></span>path()</h2>
<div class="memitem">
<div class="memproto">
@@ -410,9 +433,19 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<tr>
<td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path_handle::path </td>
<td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em></td><td>)</td>
+ <td class="paramname"><em>path</em>&#160;</td>
+ </tr>
+ <tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
@@ -421,10 +454,9 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(<a class="code" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>(), _path); }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a01603d237d7f48f649abebd25bb7daaf"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">llfio_v2_xxx::path_handle::path_handle</a></div><div class="ttdeci">constexpr path_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> path_handle.hpp:66</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1path__handle_html_a579c3752604c65325d16a6f8c818c6ab"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">llfio_v2_xxx::path_handle::path</a></div><div class="ttdeci">static result&lt; path_handle &gt; path(const path_handle &amp;base, path_view_type path) noexcept</div></div>
-</div><!-- fragment -->
+<p>Create a path handle opening access to some location on the filing system. Some operating systems provide a particularly lightweight method of doing this (Linux: <code>O_PATH</code>, Windows: no access perms) which is much faster than opening a directory. For other systems, we open a directory with read only permissions.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+
</div>
</div>
<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
@@ -452,24 +484,120 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
@@ -498,8 +626,10 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -514,7 +644,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__handle.js b/classllfio__v2__xxx_1_1path__handle.js
index f43a3357..f461abf4 100644
--- a/classllfio__v2__xxx_1_1path__handle.js
+++ b/classllfio__v2__xxx_1_1path__handle.js
@@ -9,7 +9,7 @@ var classllfio__v2__xxx_1_1path__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c", null ],
[ "size_type", "classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf", null ],
- [ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006", null ],
+ [ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc", null ],
@@ -17,35 +17,40 @@ var classllfio__v2__xxx_1_1path__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1path__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1path__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1path__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "clone", "classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf", null ],
+ [ "clone", "classllfio__v2__xxx_1_1path__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "clone_to_path_handle", "classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a", null ],
[ "close", "classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e", null ],
[ "current_path", "classllfio__v2__xxx_1_1path__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "exists", "classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32", null ],
[ "flags", "classllfio__v2__xxx_1_1path__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1path__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1path__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1path__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1path__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1path__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1path__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1path__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1path__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1path__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1path__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1path__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1path__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1path__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1path__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1path__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1path__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1path__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1path__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
[ "native_handle", "classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1path__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1path__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "release", "classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
- [ "swap", "classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9", null ],
[ "swap", "classllfio__v2__xxx_1_1path__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9", null ],
[ "directory_handle", "classllfio__v2__xxx_1_1path__handle.html#ab98213f3667f45cc5429e9d6ed6073fb", null ],
- [ "_caching", "classllfio__v2__xxx_1_1path__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
[ "_flags", "classllfio__v2__xxx_1_1path__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_v", "classllfio__v2__xxx_1_1path__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1path__view-members.html b/classllfio__v2__xxx_1_1path__view-members.html
index 943e43f5..f969e17f 100644
--- a/classllfio__v2__xxx_1_1path__view-members.html
+++ b/classllfio__v2__xxx_1_1path__view-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,70 +89,99 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_raw_data</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a">begin</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891">begin</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">byte</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c_str</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bytestr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_char16str</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_char8str</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_charstr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_raw_data</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_wcharstr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c">begin</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b">begin</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da">cbegin</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042">cend</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>char16_t</b> enum name (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>char16_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8">const_reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>contains_glob</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025">difference_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501">empty</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453">end</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e">end</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1">extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a">filename</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_extension</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>has_filename</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_parent_path</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>has_relative_path</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_root_directory</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>has_root_name</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_root_path</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>has_stem</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_absolute</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>is_relative</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">is_source_chartype_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">contains_glob</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025">difference_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">empty</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207">end</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae">end</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a">filename</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>fmt</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">formatting</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">has_extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e">has_filename</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca">has_parent_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956">has_relative_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad">has_root_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f">has_root_name</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257">has_root_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">has_stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">has_zero_termination</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86">is_absolute</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30">is_relative</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f">native_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator!=</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a">operator=</a>(const path_view &amp;p)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">operator=</a>(path_view &amp;&amp;p) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator==</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const std</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const Char *s</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>llfio_v2_xxx::operator!=</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>llfio_v2_xxx::operator==</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>loc</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a">operator=</a>(const path_view &amp;p)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">operator=</a>(path_view &amp;&amp;p) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const path_view_component &amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(path_view_component &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562">parent_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d">path</a>() const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a>() const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045">path_view</a>(const filesystem::path &amp;v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a">path_view</a>(path_view_component v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d">path_view</a>(const char *v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28">path_view</a>(const wchar_t *v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb">path_view</a>(const char8_t *v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23">path_view</a>(const char16_t *v) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e">path_view</a>(const path_view &amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e">path_view</a>(path_view_component p, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559">path_view</a>(const filesystem::path &amp;v, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc">path_view</a>(const char *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d">path_view</a>(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c">path_view</a>(const char8_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e">path_view</a>(const char16_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e">path_view</a>(const byte *b, size_t l, enum zero_termination zt) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266">path_view</a>(path_view &amp;&amp;o) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">preferred_separator</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032">relative_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">remove_filename</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba">reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400">root_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af">root_name</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a">root_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8">stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14">swap</a>(path_view &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5">path_view_component</a>(path_view_component p, format fmt) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4">path_view_component</a>(const filesystem::path &amp;v, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e">path_view_component</a>(const char *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec">path_view_component</a>(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878">path_view_component</a>(const char8_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3">path_view_component</a>(const char16_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af">path_view_component</a>(const byte *b, size_t l, enum zero_termination zt) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_component</b>(path_view_component &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">preferred_separator</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032">relative_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">remove_filename</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba">reverse_iterator</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400">root_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af">root_name</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a">root_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a>(path_view_component &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unknown</b> enum value (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998">without_trailing_separator</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">zero_termination</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~path_view</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">llfio_v2_xxx::path_view</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~path_view_component</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -158,7 +189,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__view.html b/classllfio__v2__xxx_1_1path__view.html
index bff3150b..2b87ba9a 100644
--- a/classllfio__v2__xxx_1_1path__view.html
+++ b/classllfio__v2__xxx_1_1path__view.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_view Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1path__view-members.html">List of all members</a> </div>
@@ -95,11 +98,18 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<a href="classllfio__v2__xxx_1_1path__view.html#details">More...</a></p>
<p><code>#include &quot;path_view.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::path_view:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1path__view.png" usemap="#llfio_5Fv2_5Fxxx::path_5Fview_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::path_5Fview_map" name="llfio_5Fv2_5Fxxx::path_5Fview_map">
+<area href="classllfio__v2__xxx_1_1path__view__component.html" title="An iterated part of a path_view." alt="llfio_v2_xxx::path_view_component" shape="rect" coords="0,0,209,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:ae1cf7b922e5bb83510b787b64479d304"><td class="memItemLeft" align="right" valign="top"><a id="ae1cf7b922e5bb83510b787b64479d304"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>char16_t</b> : unsigned short </td></tr>
-<tr class="separator:ae1cf7b922e5bb83510b787b64479d304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae064112c51630be49c33bd51e4380cbd"><td class="memItemLeft" align="right" valign="top"><a id="ae064112c51630be49c33bd51e4380cbd"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a> = detail::path_view_iterator</td></tr>
<tr class="memdesc:ae064112c51630be49c33bd51e4380cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator type. <br /></td></tr>
@@ -116,18 +126,42 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8">const_reverse_iterator</a> = std::reverse_iterator&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a> &gt;</td></tr>
<tr class="memdesc:af613a5a2995dd0fca21d914b59e4aff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const reverse iterator. <br /></td></tr>
<tr class="separator:af613a5a2995dd0fca21d914b59e4aff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="memItemLeft" align="right" valign="top"><a id="ac797abdc80bbd5f5b94ccb4e30117cbb"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb">size_type</a> = std::size_t</td></tr>
-<tr class="memdesc:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type. <br /></td></tr>
-<tr class="separator:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5144026296227cb66bca4db8057a12f5"><td class="memItemLeft" align="right" valign="top"><a id="a5144026296227cb66bca4db8057a12f5"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5">size_type</a> = <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">path_view_component::size_type</a></td></tr>
+<tr class="memdesc:a5144026296227cb66bca4db8057a12f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type. <br /></td></tr>
+<tr class="separator:a5144026296227cb66bca4db8057a12f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e14fc71abee0765b06af857bd6a025"><td class="memItemLeft" align="right" valign="top"><a id="ad4e14fc71abee0765b06af857bd6a025"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025">difference_type</a> = std::ptrdiff_t</td></tr>
<tr class="memdesc:ad4e14fc71abee0765b06af857bd6a025"><td class="mdescLeft">&#160;</td><td class="mdescRight">Difference type. <br /></td></tr>
<tr class="separator:ad4e14fc71abee0765b06af857bd6a025"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1aaf2407fed87b3b4c077e71495039ca"><td class="memItemLeft" align="right" valign="top"><a id="a1aaf2407fed87b3b4c077e71495039ca"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">byte</a> = llfio_v2_xxx::byte</td></tr>
-<tr class="memdesc:a1aaf2407fed87b3b4c077e71495039ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type for passthrough input. <br /></td></tr>
-<tr class="separator:a1aaf2407fed87b3b4c077e71495039ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d0688505b971f8ff6f9b9075817d48d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> : uint8_t { <br />
+&#160;&#160;<b>unknown</b>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:a3d0688505b971f8ff6f9b9075817d48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to interpret separators. <a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">More...</a><br /></td></tr>
+<tr class="separator:a3d0688505b971f8ff6f9b9075817d48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> { <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>
+ }</td></tr>
+<tr class="memdesc:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination to use. <a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">More...</a><br /></td></tr>
+<tr class="separator:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7663cb908516be3f8bf17b6826da186a"><td class="memItemLeft" align="right" valign="top"><a id="a7663cb908516be3f8bf17b6826da186a"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> = llfio_v2_xxx::byte</td></tr>
+<tr class="memdesc:a7663cb908516be3f8bf17b6826da186a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type for passthrough input. <br /></td></tr>
+<tr class="separator:a7663cb908516be3f8bf17b6826da186a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38ff18893dfc84c562fb36c299702bf5"><td class="memItemLeft" align="right" valign="top"><a id="a38ff18893dfc84c562fb36c299702bf5"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>char16_t</b> = detail::char16_t</td></tr>
+<tr class="separator:a38ff18893dfc84c562fb36c299702bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplParams" colspan="2"><a id="aaa1116ad357d1c73d1cc26ce28b29c82"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a> = std::default_delete&lt; T &gt;</td></tr>
+<tr class="memdesc:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default deleter to use. <br /></td></tr>
+<tr class="separator:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -135,40 +169,26 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> ()</td></tr>
<tr class="memdesc:a91540ade852194b9507184cdcaed3339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty path view. <br /></td></tr>
<tr class="separator:a91540ade852194b9507184cdcaed3339"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab423783d2a907166248f3074f3750045"><td class="memItemLeft" align="right" valign="top"><a id="ab423783d2a907166248f3074f3750045"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045">path_view</a> (const filesystem::path &amp;v) noexcept</td></tr>
-<tr class="memdesc:ab423783d2a907166248f3074f3750045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a path. The input path MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:ab423783d2a907166248f3074f3750045"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bfb80a086ac6f7848639a818de9841a"><td class="memItemLeft" align="right" valign="top"><a id="a9bfb80a086ac6f7848639a818de9841a"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> v) noexcept</td></tr>
-<tr class="memdesc:a9bfb80a086ac6f7848639a818de9841a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a path view component. The input path MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a9bfb80a086ac6f7848639a818de9841a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a711521276cb79a9483a27bf5692ab30d"><td class="memItemLeft" align="right" valign="top"><a id="a711521276cb79a9483a27bf5692ab30d"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d">path_view</a> (const char *v) noexcept</td></tr>
-<tr class="memdesc:a711521276cb79a9483a27bf5692ab30d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char *</code>. Convenience wrapper for the <code>byte</code> constructor. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a711521276cb79a9483a27bf5692ab30d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a38729f67ca5ce1801b5cf951dcd71a28"><td class="memItemLeft" align="right" valign="top"><a id="a38729f67ca5ce1801b5cf951dcd71a28"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28">path_view</a> (const wchar_t *v) noexcept</td></tr>
-<tr class="memdesc:a38729f67ca5ce1801b5cf951dcd71a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const wchar_t *</code>. Convenience wrapper for the <code>byte</code> constructor. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a38729f67ca5ce1801b5cf951dcd71a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5cf1494522b2422c9b6e645e5837deb"><td class="memItemLeft" align="right" valign="top"><a id="ab5cf1494522b2422c9b6e645e5837deb"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb">path_view</a> (const char8_t *v) noexcept</td></tr>
-<tr class="memdesc:ab5cf1494522b2422c9b6e645e5837deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char8_t *</code>. Performs a UTF-8 to native encoding if necessary. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:ab5cf1494522b2422c9b6e645e5837deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f649112f30854859d95629a460dca23"><td class="memItemLeft" align="right" valign="top"><a id="a5f649112f30854859d95629a460dca23"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23">path_view</a> (const char16_t *v) noexcept</td></tr>
-<tr class="memdesc:a5f649112f30854859d95629a460dca23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char16_t *</code>. Performs a UTF-16 to native encoding if necessary. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a5f649112f30854859d95629a460dca23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83b86163124a03eadb509e3bb4bcce3e"><td class="memItemLeft" align="right" valign="top"><a id="a83b86163124a03eadb509e3bb4bcce3e"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e">path_view</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;)=default</td></tr>
-<tr class="memdesc:a83b86163124a03eadb509e3bb4bcce3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy constructor. <br /></td></tr>
-<tr class="separator:a83b86163124a03eadb509e3bb4bcce3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad13185e46ea7602e58368e6fc815cc5e"><td class="memItemLeft" align="right" valign="top"><a id="ad13185e46ea7602e58368e6fc815cc5e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="memdesc:ad13185e46ea7602e58368e6fc815cc5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a path view component identical to the input, except with different format interpretation. <br /></td></tr>
+<tr class="separator:ad13185e46ea7602e58368e6fc815cc5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51f54e918b2ab425cfae17c69acc4559"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559">path_view</a> (const filesystem::path &amp;v, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a51f54e918b2ab425cfae17c69acc4559"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a347bdf25436d0e99f1af1bcc11b4cda4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>(const std</td></tr>
+<tr class="separator:a347bdf25436d0e99f1af1bcc11b4cda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c6f713611d051664daaa75146b4a2dc"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc">path_view</a> (const char *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a7c6f713611d051664daaa75146b4a2dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf0848bab6bea4f142f1f65c5ed24a0d"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d">path_view</a> (const wchar_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:abf0848bab6bea4f142f1f65c5ed24a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e29d17c4f7714b3a32cf580165c4c0c"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c">path_view</a> (const char8_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a5e29d17c4f7714b3a32cf580165c4c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fc737972479dc5c20ffd4a60aa4c68e"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e">path_view</a> (const char16_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a6fc737972479dc5c20ffd4a60aa4c68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a928116cad46c1e8c21bbfd5bef998d8e"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e">path_view</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt) noexcept</td></tr>
+<tr class="separator:a928116cad46c1e8c21bbfd5bef998d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a290c98c372e746211245aa5a1e6aef11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>(const Char *s</td></tr>
+<tr class="separator:a290c98c372e746211245aa5a1e6aef11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb290145d390bd9e8cf3b5e2553c266"><td class="memItemLeft" align="right" valign="top"><a id="a4fb290145d390bd9e8cf3b5e2553c266"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&amp;o) noexcept=default</td></tr>
<tr class="memdesc:a4fb290145d390bd9e8cf3b5e2553c266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move constructor. <br /></td></tr>
@@ -181,82 +201,66 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&amp;p) noexcept=default</td></tr>
<tr class="memdesc:a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move assignment. <br /></td></tr>
<tr class="separator:a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="memItemLeft" align="right" valign="top"><a id="ab7ae611a6aa7fed01b4447a3f5133c14"></a>
-constexpr void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;o) noexcept</td></tr>
-<tr class="memdesc:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the view with another. <br /></td></tr>
-<tr class="separator:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a99db0dd434afa24ee6f2b6ae9287ecb2"><td class="memItemLeft" align="right" valign="top"><a id="a99db0dd434afa24ee6f2b6ae9287ecb2"></a>
-const <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr>
-<tr class="separator:a99db0dd434afa24ee6f2b6ae9287ecb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a35074d82517e50c28aa99f4a13e8c501"><td class="memItemLeft" align="right" valign="top"><a id="a35074d82517e50c28aa99f4a13e8c501"></a>
-LLFIO_NODISCARD LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501">empty</a> () const noexcept</td></tr>
-<tr class="memdesc:a35074d82517e50c28aa99f4a13e8c501"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
-<tr class="separator:a35074d82517e50c28aa99f4a13e8c501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345b745ec73e1a9615a420e9295a0257"><td class="memItemLeft" align="right" valign="top"><a id="a345b745ec73e1a9615a420e9295a0257"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257">has_root_path</a> () const noexcept</td></tr>
+<tr class="memdesc:a345b745ec73e1a9615a420e9295a0257"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root path. <br /></td></tr>
<tr class="separator:a345b745ec73e1a9615a420e9295a0257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd047c290ab91eaf1067036194f1e8f"><td class="memItemLeft" align="right" valign="top"><a id="acbd047c290ab91eaf1067036194f1e8f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_name</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f">has_root_name</a> () const noexcept</td></tr>
+<tr class="memdesc:acbd047c290ab91eaf1067036194f1e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root name. <br /></td></tr>
<tr class="separator:acbd047c290ab91eaf1067036194f1e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="memItemLeft" align="right" valign="top"><a id="afe52198fb027adfce8f86c5ae8e7a2ad"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_directory</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad">has_root_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root directory. <br /></td></tr>
<tr class="separator:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="memItemLeft" align="right" valign="top"><a id="ad4ba638203e3fc1e6cbcef9b6c4ca956"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_relative_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956">has_relative_path</a> () const noexcept</td></tr>
+<tr class="memdesc:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has relative path. <br /></td></tr>
<tr class="separator:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="memItemLeft" align="right" valign="top"><a id="ae4f0f2678b636b59e50114a0bcdbc6ca"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_parent_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca">has_parent_path</a> () const noexcept</td></tr>
+<tr class="memdesc:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has parent path. <br /></td></tr>
<tr class="separator:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257d31cbb37fc019033bab262d01d50e"><td class="memItemLeft" align="right" valign="top"><a id="a257d31cbb37fc019033bab262d01d50e"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_filename</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e">has_filename</a> () const noexcept</td></tr>
+<tr class="memdesc:a257d31cbb37fc019033bab262d01d50e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has filename. <br /></td></tr>
<tr class="separator:a257d31cbb37fc019033bab262d01d50e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a512962b9588d3d4d15f366ae3cb09d34"><td class="memItemLeft" align="right" valign="top"><a id="a512962b9588d3d4d15f366ae3cb09d34"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_stem</b> () const noexcept</td></tr>
-<tr class="separator:a512962b9588d3d4d15f366ae3cb09d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4578d185306681fe2bc7996b53396d0f"><td class="memItemLeft" align="right" valign="top"><a id="a4578d185306681fe2bc7996b53396d0f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_extension</b> () const noexcept</td></tr>
-<tr class="separator:a4578d185306681fe2bc7996b53396d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa764357828bed56ec356828a090aff86"><td class="memItemLeft" align="right" valign="top"><a id="aa764357828bed56ec356828a090aff86"></a>
-constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_absolute</b> () const noexcept</td></tr>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86">is_absolute</a> () const noexcept</td></tr>
+<tr class="memdesc:aa764357828bed56ec356828a090aff86"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if absolute. <br /></td></tr>
<tr class="separator:aa764357828bed56ec356828a090aff86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9532a152294cc91153584a909210b30"><td class="memItemLeft" align="right" valign="top"><a id="ae9532a152294cc91153584a909210b30"></a>
-constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_relative</b> () const noexcept</td></tr>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30">is_relative</a> () const noexcept</td></tr>
+<tr class="memdesc:ae9532a152294cc91153584a909210b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if relative. <br /></td></tr>
<tr class="separator:ae9532a152294cc91153584a909210b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ac23fffe202146b4aecfb82a99c9a77"><td class="memItemLeft" align="right" valign="top"><a id="a1ac23fffe202146b4aecfb82a99c9a77"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>contains_glob</b> () const noexcept</td></tr>
-<tr class="separator:a1ac23fffe202146b4aecfb82a99c9a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8efb8be3b3f3b224680e9f10149bb2da"><td class="memItemLeft" align="right" valign="top"><a id="a8efb8be3b3f3b224680e9f10149bb2da"></a>
constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da">cbegin</a> () const noexcept</td></tr>
<tr class="memdesc:a8efb8be3b3f3b224680e9f10149bb2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
<tr class="separator:a8efb8be3b3f3b224680e9f10149bb2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad732574572c44177bd661456a542f50a"><td class="memItemLeft" align="right" valign="top"><a id="ad732574572c44177bd661456a542f50a"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a">begin</a> () const noexcept</td></tr>
-<tr class="memdesc:ad732574572c44177bd661456a542f50a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
-<tr class="separator:ad732574572c44177bd661456a542f50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61cb7bbf03f090213d899ca28598b891"><td class="memItemLeft" align="right" valign="top"><a id="a61cb7bbf03f090213d899ca28598b891"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891">begin</a> () noexcept</td></tr>
-<tr class="memdesc:a61cb7bbf03f090213d899ca28598b891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
-<tr class="separator:a61cb7bbf03f090213d899ca28598b891"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0a910127745883a07bc7418112d6c0c"><td class="memItemLeft" align="right" valign="top"><a id="af0a910127745883a07bc7418112d6c0c"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c">begin</a> () const noexcept</td></tr>
+<tr class="memdesc:af0a910127745883a07bc7418112d6c0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
+<tr class="separator:af0a910127745883a07bc7418112d6c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d29045b8005b679b21e50d66f96b0b"><td class="memItemLeft" align="right" valign="top"><a id="ab4d29045b8005b679b21e50d66f96b0b"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b">begin</a> () noexcept</td></tr>
+<tr class="memdesc:ab4d29045b8005b679b21e50d66f96b0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
+<tr class="separator:ab4d29045b8005b679b21e50d66f96b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37beaa71c1df79c40133a0548e8d0042"><td class="memItemLeft" align="right" valign="top"><a id="a37beaa71c1df79c40133a0548e8d0042"></a>
constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042">cend</a> () const noexcept</td></tr>
<tr class="memdesc:a37beaa71c1df79c40133a0548e8d0042"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
<tr class="separator:a37beaa71c1df79c40133a0548e8d0042"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a266f7052b687b4ba422c4cbcd0b2f453"><td class="memItemLeft" align="right" valign="top"><a id="a266f7052b687b4ba422c4cbcd0b2f453"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453">end</a> () const noexcept</td></tr>
-<tr class="memdesc:a266f7052b687b4ba422c4cbcd0b2f453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
-<tr class="separator:a266f7052b687b4ba422c4cbcd0b2f453"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2711832d81f40800e9d3915b9c37ff4e"><td class="memItemLeft" align="right" valign="top"><a id="a2711832d81f40800e9d3915b9c37ff4e"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e">end</a> () noexcept</td></tr>
-<tr class="memdesc:a2711832d81f40800e9d3915b9c37ff4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
-<tr class="separator:a2711832d81f40800e9d3915b9c37ff4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="memItemLeft" align="right" valign="top"><a id="a6aeda6dd5f05a8dc83e5e76d3765d207"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207">end</a> () const noexcept</td></tr>
+<tr class="memdesc:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
+<tr class="separator:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0afa3031faf76f8476d95f8897b4f1ae"><td class="memItemLeft" align="right" valign="top"><a id="a0afa3031faf76f8476d95f8897b4f1ae"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae">end</a> () noexcept</td></tr>
+<tr class="memdesc:a0afa3031faf76f8476d95f8897b4f1ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
+<tr class="separator:a0afa3031faf76f8476d95f8897b4f1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33ed45573976ace5610de51d40de0ee"><td class="memItemLeft" align="right" valign="top"><a id="ac33ed45573976ace5610de51d40de0ee"></a>
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">remove_filename</a> () const noexcept</td></tr>
<tr class="memdesc:ac33ed45573976ace5610de51d40de0ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of this view with the end adjusted to match the final separator. <br /></td></tr>
<tr class="separator:ac33ed45573976ace5610de51d40de0ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a711aaeec6fcc29431b6996ef25c6043f"><td class="memItemLeft" align="right" valign="top"><a id="a711aaeec6fcc29431b6996ef25c6043f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f">native_size</a> () const noexcept</td></tr>
-<tr class="memdesc:a711aaeec6fcc29431b6996ef25c6043f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
-<tr class="separator:a711aaeec6fcc29431b6996ef25c6043f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57047ecaa75f039c61b6bbeb5b5c33af"><td class="memItemLeft" align="right" valign="top"><a id="a57047ecaa75f039c61b6bbeb5b5c33af"></a>
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af">root_name</a> () const noexcept</td></tr>
<tr class="memdesc:a57047ecaa75f039c61b6bbeb5b5c33af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the root name part of this view e.g. C: <br /></td></tr>
@@ -281,56 +285,112 @@ LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a">filename</a> () const noexcept</td></tr>
<tr class="memdesc:abccf122f0c4d537e0e41b87e86aeb61a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename part of this view. <br /></td></tr>
<tr class="separator:abccf122f0c4d537e0e41b87e86aeb61a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="memItemLeft" align="right" valign="top"><a id="a8e0dbd474d2c668a0c33a01e7a5aafe8"></a>
-LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8">stem</a> () const noexcept</td></tr>
-<tr class="memdesc:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename without any file extension. <br /></td></tr>
-<tr class="separator:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad799e35ea5899df97ee570337376f8c1"><td class="memItemLeft" align="right" valign="top"><a id="ad799e35ea5899df97ee570337376f8c1"></a>
-LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1">extension</a> () const noexcept</td></tr>
-<tr class="memdesc:ad799e35ea5899df97ee570337376f8c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the file extension part of this view. <br /></td></tr>
-<tr class="separator:ad799e35ea5899df97ee570337376f8c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab86fa3a4456b6d298ec78e18e76f999d"><td class="memItemLeft" align="right" valign="top"><a id="ab86fa3a4456b6d298ec78e18e76f999d"></a>
-filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d">path</a> () const</td></tr>
-<tr class="memdesc:ab86fa3a4456b6d298ec78e18e76f999d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path view as a path. Allocates and copies memory! <br /></td></tr>
-<tr class="separator:ab86fa3a4456b6d298ec78e18e76f999d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afef4720fa17884bec1fd6eaa1d5faf56"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a>, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a>&lt; T &gt; &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept</td></tr>
-<tr class="separator:afef4720fa17884bec1fd6eaa1d5faf56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1080207b46f1b48f0ee656995a506646"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a>&lt; T &gt;)) struct c_str</td></tr>
-<tr class="memdesc:a1080207b46f1b48f0ee656995a506646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate from a <code>path_view</code> to get a path suitable for feeding to other code. See <code>path_view_component::c_str</code>. <a href="#a1080207b46f1b48f0ee656995a506646">More...</a><br /></td></tr>
-<tr class="separator:a1080207b46f1b48f0ee656995a506646"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="memItemLeft" align="right" valign="top"><a id="a3ad9b291bcdb45528f2cedcabd5ed998"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998">without_trailing_separator</a> () const noexcept</td></tr>
+<tr class="memdesc:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of this view without a trailing separator, if there is one, unless the input is '/'. <br /></td></tr>
+<tr class="separator:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac12652236847087552e7a8cc01ef5a71"><td class="memItemLeft" align="right" valign="top"><a id="ac12652236847087552e7a8cc01ef5a71"></a>
+constexpr enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:ac12652236847087552e7a8cc01ef5a71"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination during construction. <br /></td></tr>
+<tr class="separator:ac12652236847087552e7a8cc01ef5a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a486c1bc907c6de489ac94069d6681c53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) const expr int compare(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p</td></tr>
+<tr class="separator:a486c1bc907c6de489ac94069d6681c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a026f3fd0f948212028182d1b501dffbb"><td class="memItemLeft" align="right" valign="top"><a id="a026f3fd0f948212028182d1b501dffbb"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr>
+<tr class="separator:a026f3fd0f948212028182d1b501dffbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a247fba2fecd5b850a17b0994f5913b4f"><td class="memItemLeft" align="right" valign="top"><a id="a247fba2fecd5b850a17b0994f5913b4f"></a>
+constexpr void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a247fba2fecd5b850a17b0994f5913b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the view with another. <br /></td></tr>
+<tr class="separator:a247fba2fecd5b850a17b0994f5913b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memItemLeft" align="right" valign="top"><a id="a66781bc99e8f92dd82f6f04afa08a6c1"></a>
+constexpr LLFIO_NODISCARD bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">empty</a> () const noexcept</td></tr>
+<tr class="memdesc:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
+<tr class="separator:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memItemLeft" align="right" valign="top"><a id="aaba2705ba8660b2d9e28cbbd099a85ec"></a>
+LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a> () const noexcept</td></tr>
+<tr class="memdesc:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
+<tr class="separator:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b6792638386aa705083c173e5d9b948"><td class="memItemLeft" align="right" valign="top"><a id="a6b6792638386aa705083c173e5d9b948"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">formatting</a> () const noexcept</td></tr>
+<tr class="memdesc:a6b6792638386aa705083c173e5d9b948"><td class="mdescLeft">&#160;</td><td class="mdescRight">How path separators shall be interpreted. <br /></td></tr>
+<tr class="separator:a6b6792638386aa705083c173e5d9b948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memItemLeft" align="right" valign="top"><a id="a258fe430d6aa8a6f9cd9a3894cae5c44"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">has_zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if input is declared to be zero terminated. <br /></td></tr>
+<tr class="separator:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a964de9984b51e6bfd021f7c1587863c0"><td class="memItemLeft" align="right" valign="top"><a id="a964de9984b51e6bfd021f7c1587863c0"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">has_stem</a> () const noexcept</td></tr>
+<tr class="memdesc:a964de9984b51e6bfd021f7c1587863c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>stem()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:a964de9984b51e6bfd021f7c1587863c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af286c0256f4800e35d816f4ba7571de4"><td class="memItemLeft" align="right" valign="top"><a id="af286c0256f4800e35d816f4ba7571de4"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">has_extension</a> () const noexcept</td></tr>
+<tr class="memdesc:af286c0256f4800e35d816f4ba7571de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>extension()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:af286c0256f4800e35d816f4ba7571de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acef767fc47e96966c201baf528193204"><td class="memItemLeft" align="right" valign="top"><a id="acef767fc47e96966c201baf528193204"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">contains_glob</a> () const noexcept</td></tr>
+<tr class="memdesc:acef767fc47e96966c201baf528193204"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the view contains any of the characters <code>*</code>, <code>?</code>, (POSIX only: <code>[</code> or <code>]</code>). <br /></td></tr>
+<tr class="separator:acef767fc47e96966c201baf528193204"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a0bfc3e06986b6287a22fdc97799181"><td class="memItemLeft" align="right" valign="top"><a id="a4a0bfc3e06986b6287a22fdc97799181"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a> () const noexcept</td></tr>
+<tr class="memdesc:a4a0bfc3e06986b6287a22fdc97799181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename without any file extension. <br /></td></tr>
+<tr class="separator:a4a0bfc3e06986b6287a22fdc97799181"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d62abddb51d080a8c2e42998bc6fb58"><td class="memItemLeft" align="right" valign="top"><a id="a2d62abddb51d080a8c2e42998bc6fb58"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">extension</a> () const noexcept</td></tr>
+<tr class="memdesc:a2d62abddb51d080a8c2e42998bc6fb58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the file extension part of this view. <br /></td></tr>
+<tr class="separator:a2d62abddb51d080a8c2e42998bc6fb58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac367f2c429245c567448780511f24c0d"><td class="memItemLeft" align="right" valign="top"><a id="ac367f2c429245c567448780511f24c0d"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a> () const</td></tr>
+<tr class="memdesc:ac367f2c429245c567448780511f24c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path view as a path. Allocates and copies memory! <br /></td></tr>
+<tr class="separator:ac367f2c429245c567448780511f24c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:abc5abda4e162d9a530fb73fa47a2f20a"><td class="memItemLeft" align="right" valign="top"><a id="abc5abda4e162d9a530fb73fa47a2f20a"></a>
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><b>fmt</b></td></tr>
+<tr class="separator:abc5abda4e162d9a530fb73fa47a2f20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae324e5dac351729aa9513351218c5f54"><td class="memItemLeft" align="right" valign="top">const std::locale &amp;const&#160;</td><td class="memItemRight" valign="bottom"><b>loc</b></td></tr>
+<tr class="separator:ae324e5dac351729aa9513351218c5f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad71dcb87f377236474b948d621b3b2a8"><td class="memItemLeft" align="right" valign="top"><a id="ad71dcb87f377236474b948d621b3b2a8"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_bytestr</b> {nullptr}</td></tr>
+<tr class="separator:ad71dcb87f377236474b948d621b3b2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1531ffbbfb4d089a18f09809290190cc"><td class="memItemLeft" align="right" valign="top"><a id="a1531ffbbfb4d089a18f09809290190cc"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>_charstr</b></td></tr>
+<tr class="separator:a1531ffbbfb4d089a18f09809290190cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03281bf06f85b14622386bd87b9a947e"><td class="memItemLeft" align="right" valign="top"><a id="a03281bf06f85b14622386bd87b9a947e"></a>
+const wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_wcharstr</b></td></tr>
+<tr class="separator:a03281bf06f85b14622386bd87b9a947e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad560fb8127764a5cf07357c07a35d8b0"><td class="memItemLeft" align="right" valign="top"><a id="ad560fb8127764a5cf07357c07a35d8b0"></a>
+const char8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char8str</b></td></tr>
+<tr class="separator:ad560fb8127764a5cf07357c07a35d8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memItemLeft" align="right" valign="top"><a id="ac3a413fa5bbe8dbe10765bc790c1b762"></a>
+const char16_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char16str</b></td></tr>
+<tr class="separator:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
-<tr class="memitem:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="memItemLeft" align="right" valign="top"><a id="a5d34d5bd6de76ad2d56817214a7b8aee"></a>
-static constexpr auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">preferred_separator</a> = filesystem::path::preferred_separator</td></tr>
-<tr class="memdesc:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="mdescLeft">&#160;</td><td class="mdescRight">The preferred separator type. <br /></td></tr>
-<tr class="separator:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
-<tr class="memitem:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">is_source_chartype_acceptable</a> = path_view_component::is_source_chartype_acceptable&lt;Char&gt;</td></tr>
-<tr class="separator:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
-<tr class="memitem:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a> = path_view_component::is_source_acceptable&lt;Char&gt;</td></tr>
-<tr class="separator:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a8bf49225c71090012ed30260f117bf"><td class="memItemLeft" align="right" valign="top"><a id="a2a8bf49225c71090012ed30260f117bf"></a>
-static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a> = path_view_component::default_internal_buffer_size</td></tr>
-<tr class="memdesc:a2a8bf49225c71090012ed30260f117bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default internal buffer size used by <code>c_str</code>. <br /></td></tr>
-<tr class="separator:a2a8bf49225c71090012ed30260f117bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c7def30502a37e61b83836e52a0a40b"><td class="memItemLeft" align="right" valign="top"><a id="a7c7def30502a37e61b83836e52a0a40b"></a>
+static constexpr auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">preferred_separator</a> = filesystem::path::preferred_separator</td></tr>
+<tr class="memdesc:a7c7def30502a37e61b83836e52a0a40b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The preferred separator type. <br /></td></tr>
+<tr class="separator:a7c7def30502a37e61b83836e52a0a40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c5feb7fca596c44418f89c9e60b8165"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
+<tr class="memitem:a3c5feb7fca596c44418f89c9e60b8165"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a> = detail::is_source_chartype_acceptable&lt;Char&gt;::value</td></tr>
+<tr class="separator:a3c5feb7fca596c44418f89c9e60b8165"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411e9c36a49bd37d596ab34f99b656fd"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
+<tr class="memitem:a411e9c36a49bd37d596ab34f99b656fd"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a> = detail::is_source_acceptable&lt;Char&gt;::value</td></tr>
+<tr class="separator:a411e9c36a49bd37d596ab34f99b656fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b52fa10c4359dcc25aed43be0be8a91"><td class="memItemLeft" align="right" valign="top"><a id="a7b52fa10c4359dcc25aed43be0be8a91"></a>
+static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a> = 1024</td></tr>
+<tr class="memdesc:a7b52fa10c4359dcc25aed43be0be8a91"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default internal buffer size used by <code>c_str</code>. <br /></td></tr>
+<tr class="separator:a7b52fa10c4359dcc25aed43be0be8a91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
-<tr class="memitem:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memTemplParams" colspan="2"><a id="a9c02c1b6cc56f8221abea75a1e92a776"></a>
-template&lt;class T , class Deleter , size_t _internal_buffer_size, typename std::enable_if&lt;(is_source_acceptable&lt; T &gt;), bool &gt;::type &gt; </td></tr>
-<tr class="memitem:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>c_str</b></td></tr>
-<tr class="separator:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a867468c27c376aa62c4ecc5413367bba"><td class="memItemLeft" align="right" valign="top"><a id="a867468c27c376aa62c4ecc5413367bba"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
-<tr class="separator:a867468c27c376aa62c4ecc5413367bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ec27b9ac42042eb58d44837bdc1773c"><td class="memItemLeft" align="right" valign="top"><a id="a9ec27b9ac42042eb58d44837bdc1773c"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
-<tr class="separator:a9ec27b9ac42042eb58d44837bdc1773c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a565624fc24e6a6d57d38d0471e91cd84"><td class="memItemLeft" align="right" valign="top"><a id="a565624fc24e6a6d57d38d0471e91cd84"></a>
-std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;v)</td></tr>
-<tr class="separator:a565624fc24e6a6d57d38d0471e91cd84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04eaaa00f1a82c4160c60043df70c8f9"><td class="memItemLeft" align="right" valign="top"><a id="a04eaaa00f1a82c4160c60043df70c8f9"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
+<tr class="separator:a04eaaa00f1a82c4160c60043df70c8f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2abd5b3147c3dadfd9f556dff8679c46"><td class="memItemLeft" align="right" valign="top"><a id="a2abd5b3147c3dadfd9f556dff8679c46"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
+<tr class="separator:a2abd5b3147c3dadfd9f556dff8679c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code>. </p>
@@ -348,7 +408,8 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<li>POSIX: The native platform encoding is assumed to be UTF-8. If the input is <code>char8_t</code> or <code>char</code>, it is not translated. If the input is <code>char16_t</code>, a UTF-16 to UTF-8 translation is performed.</li>
<li>Microsoft Windows: The native platform encoding is assumed to be UTF-16. If the input is <code>char16_t</code> or <code>wchar_t</code>, it is not translated. If the input is <code>char8_t</code>, a UTF-8 to UTF-16 translation is performed. If the input is <code>char</code>, the Microsoft Windows API for ANSI to UTF-16 translation is invoked in order to match how Windows ANSI APIs are mapped onto the Windows Unicode APIs (be aware this is very slow).</li>
</ul>
-<h1>Windows specific notes:</h1>
+<h1><a class="anchor" id="autotoc_md15"></a>
+Windows specific notes:</h1>
<p>On Microsoft Windows, filesystem paths may require to be zero terminated, or they may not. Which is the case depends on whether LLFIO calls the NT kernel API directly rather than the Win32 API. As a general rule as to when which is used, the NT kernel API is called instead of the Win32 API when:</p>
<ul>
<li>For any paths relative to a <code>path_handle</code> (the Win32 API does not provide a race free file system API).</li>
@@ -368,9 +429,9 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</ul>
<p>If you really care about performance, you are very strongly recommended to use the NT kernel API wherever possible. Where paths are involved, it is often three to five times faster due to the multiple memory allocations and string translations that the Win32 functions perform before calling the NT kernel routine.</p>
<p>If however you are taking input from some external piece of code, then for maximum compatibility you should still use the Win32 API. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/5]</span></h2>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="a3d0688505b971f8ff6f9b9075817d48d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d0688505b971f8ff6f9b9075817d48d">&#9670;&nbsp;</a></span>format</h2>
<div class="memitem">
<div class="memproto">
@@ -379,25 +440,115 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">llfio_v2_xxx::path_view_component::format</a> : uint8_t</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>How to interpret separators. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"></a>native_format&#160;</td><td class="fielddoc"><p>Separate at the native path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"></a>generic_format&#160;</td><td class="fielddoc"><p>Separate at the generic path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"></a>auto_format&#160;</td><td class="fielddoc"><p>Separate at both the native and generic path separators. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"></a>binary_format&#160;</td><td class="fielddoc"><p>Do not separate at any path separator. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; : uint8_t</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; unknown,</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>, <span class="comment">//!&lt; Separate at the native path separator only.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>, <span class="comment">//!&lt; Separate at the generic path separator only.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>, <span class="comment">//!&lt; Separate at both the native and generic path separators.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a> <span class="comment">//!&lt; Do not separate at any path separator.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a4a24bb2d232a1aa744c3ba4018f8732e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a24bb2d232a1aa744c3ba4018f8732e">&#9670;&nbsp;</a></span>zero_termination</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The zero termination to use. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"></a>zero_terminated&#160;</td><td class="fielddoc"><p>The input is zero terminated, or requested output ought to be zero terminated. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"></a>not_zero_terminated&#160;</td><td class="fielddoc"><p>The input is not zero terminated, or requested output ought to not be zero terminated. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, <span class="comment">//!&lt; The input is zero terminated, or requested output ought to be zero terminated.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>, <span class="comment">//!&lt; The input is not zero terminated, or requested output ought to not be zero terminated.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a51f54e918b2ab425cfae17c69acc4559"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51f54e918b2ab425cfae17c69acc4559">&#9670;&nbsp;</a></span>path_view() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const filesystem::path &amp;&#160;</td>
+ <td class="paramname"><em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Constructs a path view from a lengthed array of one of <code>byte</code>, <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
-<div class="fragment"><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; }</div></div><!-- fragment -->
+<p>Implicitly constructs a path view from a path. The input path MUST continue to exist for this view to be valid (DEVIATES from P1030 due to filesystem::path not exposing its path formatting). </p>
+<div class="fragment"><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v, fmt)</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; {</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/5]</span></h2>
+<a id="a7c6f713611d051664daaa75146b4a2dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c6f713611d051664daaa75146b4a2dc">&#9670;&nbsp;</a></span>path_view() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -406,26 +557,50 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Constructs from a basic string if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
-<div class="fragment"><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), <span class="keyword">true</span>)</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; {</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:1001</div></div>
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; {</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/5]</span></h2>
+<a id="abf0848bab6bea4f142f1f65c5ed24a0d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf0848bab6bea4f142f1f65c5ed24a0d">&#9670;&nbsp;</a></span>path_view() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -434,26 +609,50 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const wchar_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Constructs from a basic string view if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
-<div class="fragment"><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), is_zero_terminated)</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; {</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:1001</div></div>
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; {</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="afef4720fa17884bec1fd6eaa1d5faf56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afef4720fa17884bec1fd6eaa1d5faf56">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[4/5]</span></h2>
+<a id="a5e29d17c4f7714b3a32cf580165c4c0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e29d17c4f7714b3a32cf580165c4c0c">&#9670;&nbsp;</a></span>path_view() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -462,51 +661,168 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const char8_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; {</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6fc737972479dc5c20ffd4a60aa4c68e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fc737972479dc5c20ffd4a60aa4c68e">&#9670;&nbsp;</a></span>path_view() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
+ <td>(</td>
+ <td class="paramtype">const char16_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a></code>, </td>
+ <td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname">&#160;</td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const &amp;&amp;</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>
-<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
-<p>If the source encodings of the two path views are compatible, a lexicographical comparison is performed. If they are incompatible, either or both views are converted to the destination encoding using <code>c_str&lt;T, Delete, _internal_buffer_size&gt;</code>, and then a lexicographical comparison is performed.</p>
-<p>This can, for obvious reasons, be expensive. It can also throw exceptions, as <code>c_str</code> does.</p>
-<p>If the destination encoding is <code>byte</code>, <code>memcmp()</code> is used, and <code>c_str</code> is never invoked as the two sources are byte compared directly.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s)); }</div></div><!-- fragment -->
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; {</div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a928116cad46c1e8c21bbfd5bef998d8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a928116cad46c1e8c21bbfd5bef998d8e">&#9670;&nbsp;</a></span>path_view() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of <code>byte</code>. The input array MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt)</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; {</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a290c98c372e746211245aa5a1e6aef11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a290c98c372e746211245aa5a1e6aef11">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Implicitly constructs a path view from a zero terminated pointer to a character array, which must be one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+
</div>
</div>
-<a id="a1080207b46f1b48f0ee656995a506646"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1080207b46f1b48f0ee656995a506646">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[5/5]</span></h2>
+<a id="a347bdf25436d0e99f1af1bcc11b4cda4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a347bdf25436d0e99f1af1bcc11b4cda4">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -517,6 +833,36 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr>
<td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
<td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a basic string if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
+<div class="fragment"><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v.data(), v.size(), <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, fmt)</div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; {</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a486c1bc907c6de489ac94069d6681c53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a486c1bc907c6de489ac94069d6681c53">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td>(</td>
<td class="paramtype">class T&#160;</td>
<td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
</tr>
@@ -524,38 +870,36 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="paramkey"></td>
<td></td>
<td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramname"> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt;T[]&gt;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a></code>&#160;</td>
+ <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td>
+ <td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
+<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
+<p>If the source encodings of the two path views are compatible, a lexicographical comparison is performed. If they are incompatible, either or both views are converted to the destination encoding using <code>c_str&lt;T, Delete, _internal_buffer_size&gt;</code>, and then a lexicographical comparison is performed.</p>
+<p>This can, for obvious reasons, be expensive. It can also throw exceptions, as <code>c_str</code> does.</p>
+<p>If the destination encoding is <code>byte</code>, <code>memcmp()</code> is used, and <code>c_str</code> is never invoked as the two sources are byte compared directly. </p>
-<p>Instantiate from a <code>path_view</code> to get a path suitable for feeding to other code. See <code>path_view_component::c_str</code>. </p>
-<p>Number of characters, excluding zero terminating char, at buffer</p>
-<p>See constructor for <code>path_view_component::c_str</code>.</p>
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; : <span class="keyword">public</span> path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; {<span class="comment"></span></div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;<span class="comment"> //! Number of characters, excluding zero terminating char, at buffer</span></div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;<span class="comment"></span> <span class="keyword">using</span> _base = path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;;<span class="comment"></span></div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;<span class="comment"> /*! See constructor for `path_view_component::c_str`.</span></div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U&gt;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate, U &amp;&amp;allocate)</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; : _base(view._state, no_zero_terminate, static_cast&lt;U &amp;&amp;&gt;(allocate))</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; {</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;<span class="comment"> //! \overload</span></div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;<span class="comment"></span> c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate = <span class="keyword">false</span>)</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; {</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; }</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; };</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:1001</div></div>
-</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
-<a id="ab44ed2bb7b699babc60d4d91b4fc5724"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab44ed2bb7b699babc60d4d91b4fc5724">&#9670;&nbsp;</a></span>is_source_acceptable</h2>
+<a id="a411e9c36a49bd37d596ab34f99b656fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a411e9c36a49bd37d596ab34f99b656fd">&#9670;&nbsp;</a></span>is_source_acceptable</h2>
<div class="memitem">
<div class="memproto">
@@ -566,12 +910,12 @@ template&lt;class Char &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">constexpr bool llfio_v2_xxx::path_view::is_source_acceptable = path_view_component::is_source_acceptable&lt;Char&gt;</td>
+ <td class="memname">constexpr bool llfio_v2_xxx::path_view_component::is_source_acceptable = detail::is_source_acceptable&lt;Char&gt;::value</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -579,8 +923,8 @@ template&lt;class Char &gt; </div>
</div>
</div>
-<a id="a3d8c5a6551685e57ed19e1924feaa07a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3d8c5a6551685e57ed19e1924feaa07a">&#9670;&nbsp;</a></span>is_source_chartype_acceptable</h2>
+<a id="a3c5feb7fca596c44418f89c9e60b8165"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c5feb7fca596c44418f89c9e60b8165">&#9670;&nbsp;</a></span>is_source_chartype_acceptable</h2>
<div class="memitem">
<div class="memproto">
@@ -591,12 +935,12 @@ template&lt;class Char &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">constexpr bool llfio_v2_xxx::path_view::is_source_chartype_acceptable = path_view_component::is_source_chartype_acceptable&lt;Char&gt;</td>
+ <td class="memname">constexpr bool llfio_v2_xxx::path_view_component::is_source_chartype_acceptable = detail::is_source_chartype_acceptable&lt;Char&gt;::value</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -604,18 +948,53 @@ template&lt;class Char &gt; </div>
</div>
</div>
+<a id="ae324e5dac351729aa9513351218c5f54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae324e5dac351729aa9513351218c5f54">&#9670;&nbsp;</a></span>loc</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const std::locale&amp; const llfio_v2_xxx::path_view_component::loc</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> <span class="keywordflow">return</span> _invoke([&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keyword">self</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> p._invoke(</div>
+<div class="line"> [&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;other) { <span class="keywordflow">return</span> _compare&lt;T, Deleter, _internal_buffer_size&gt;(<span class="keyword">self</span>, <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>(), other, p.zero_termination(), &amp;loc); });</div>
+<div class="line"> })</div>
+</div><!-- fragment -->
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="path__view_8hpp.html">path_view.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">llfio_v2_xxx::path_view_component::native_format</a></div><div class="ttdeci">@ native_format</div><div class="ttdoc">Separate at the native path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:225</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a9595c5841e26ca5e0fc18e6d735b1142"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">llfio_v2_xxx::path_view_component::path_view_component</a></div><div class="ttdeci">constexpr path_view_component() noexcept</div><div class="ttdoc">Constructs an empty path view component (DEVIATES from P1030, is not trivial due to C++ 14 compatibil...</div><div class="ttdef"><b>Definition:</b> path_view.hpp:264</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732e"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></div><div class="ttdeci">zero_termination</div><div class="ttdoc">The zero termination to use.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:232</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">llfio_v2_xxx::path_view_component::not_zero_terminated</a></div><div class="ttdeci">@ not_zero_terminated</div><div class="ttdoc">The input is not zero terminated, or requested output ought to not be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:235</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">llfio_v2_xxx::path_view_component::binary_format</a></div><div class="ttdeci">@ binary_format</div><div class="ttdoc">Do not separate at any path separator.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:228</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">llfio_v2_xxx::path_view_component::zero_terminated</a></div><div class="ttdeci">@ zero_terminated</div><div class="ttdoc">The input is zero terminated, or requested output ought to be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:234</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">llfio_v2_xxx::path_view_component::auto_format</a></div><div class="ttdeci">@ auto_format</div><div class="ttdoc">Separate at both the native and generic path separators.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:227</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">llfio_v2_xxx::path_view_component::generic_format</a></div><div class="ttdeci">@ generic_format</div><div class="ttdoc">Separate at the generic path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:226</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__view.js b/classllfio__v2__xxx_1_1path__view.js
index 8d218f36..3131e3a7 100644
--- a/classllfio__v2__xxx_1_1path__view.js
+++ b/classllfio__v2__xxx_1_1path__view.js
@@ -1,63 +1,82 @@
var classllfio__v2__xxx_1_1path__view =
[
- [ "byte", "classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca", null ],
+ [ "byte", "classllfio__v2__xxx_1_1path__view.html#a7663cb908516be3f8bf17b6826da186a", null ],
+ [ "char16_t", "classllfio__v2__xxx_1_1path__view.html#a38ff18893dfc84c562fb36c299702bf5", null ],
[ "const_iterator", "classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd", null ],
[ "const_reverse_iterator", "classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8", null ],
+ [ "default_c_str_deleter", "classllfio__v2__xxx_1_1path__view.html#aaa1116ad357d1c73d1cc26ce28b29c82", null ],
[ "difference_type", "classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025", null ],
[ "iterator", "classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a", null ],
[ "reverse_iterator", "classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba", null ],
- [ "size_type", "classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb", null ],
- [ "char16_t", "classllfio__v2__xxx_1_1path__view.html#ae1cf7b922e5bb83510b787b64479d304", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5", null ],
+ [ "format", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48d", [
+ [ "unknown", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48da939870da420c261803566b4aa696edd2", null ],
+ [ "native_format", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b", null ],
+ [ "generic_format", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455", null ],
+ [ "auto_format", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039", null ],
+ [ "binary_format", "classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055", null ]
+ ] ],
+ [ "zero_termination", "classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732e", [
+ [ "zero_terminated", "classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6", null ],
+ [ "not_zero_terminated", "classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f", null ]
+ ] ],
[ "path_view", "classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339", null ],
[ "~path_view", "classllfio__v2__xxx_1_1path__view.html#a1b128bc55c1c093b9b46de07b7c1ced7", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23", null ],
- [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e", null ],
+ [ "path_view", "classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e", null ],
[ "path_view", "classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266", null ],
- [ "_raw_data", "classllfio__v2__xxx_1_1path__view.html#a99db0dd434afa24ee6f2b6ae9287ecb2", null ],
- [ "begin", "classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a", null ],
- [ "begin", "classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891", null ],
+ [ "_raw_data", "classllfio__v2__xxx_1_1path__view.html#a026f3fd0f948212028182d1b501dffbb", null ],
+ [ "begin", "classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c", null ],
+ [ "begin", "classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b", null ],
[ "cbegin", "classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da", null ],
[ "cend", "classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042", null ],
- [ "contains_glob", "classllfio__v2__xxx_1_1path__view.html#a1ac23fffe202146b4aecfb82a99c9a77", null ],
- [ "empty", "classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501", null ],
- [ "end", "classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453", null ],
- [ "end", "classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e", null ],
- [ "extension", "classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1", null ],
+ [ "contains_glob", "classllfio__v2__xxx_1_1path__view.html#acef767fc47e96966c201baf528193204", null ],
+ [ "empty", "classllfio__v2__xxx_1_1path__view.html#a66781bc99e8f92dd82f6f04afa08a6c1", null ],
+ [ "end", "classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207", null ],
+ [ "end", "classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae", null ],
+ [ "extension", "classllfio__v2__xxx_1_1path__view.html#a2d62abddb51d080a8c2e42998bc6fb58", null ],
[ "filename", "classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a", null ],
- [ "has_extension", "classllfio__v2__xxx_1_1path__view.html#a4578d185306681fe2bc7996b53396d0f", null ],
+ [ "formatting", "classllfio__v2__xxx_1_1path__view.html#a6b6792638386aa705083c173e5d9b948", null ],
+ [ "has_extension", "classllfio__v2__xxx_1_1path__view.html#af286c0256f4800e35d816f4ba7571de4", null ],
[ "has_filename", "classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e", null ],
[ "has_parent_path", "classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca", null ],
[ "has_relative_path", "classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956", null ],
[ "has_root_directory", "classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad", null ],
[ "has_root_name", "classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f", null ],
[ "has_root_path", "classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257", null ],
- [ "has_stem", "classllfio__v2__xxx_1_1path__view.html#a512962b9588d3d4d15f366ae3cb09d34", null ],
+ [ "has_stem", "classllfio__v2__xxx_1_1path__view.html#a964de9984b51e6bfd021f7c1587863c0", null ],
+ [ "has_zero_termination", "classllfio__v2__xxx_1_1path__view.html#a258fe430d6aa8a6f9cd9a3894cae5c44", null ],
[ "is_absolute", "classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86", null ],
[ "is_relative", "classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646", null ],
- [ "native_size", "classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view.html#a486c1bc907c6de489ac94069d6681c53", null ],
+ [ "native_size", "classllfio__v2__xxx_1_1path__view.html#aaba2705ba8660b2d9e28cbbd099a85ec", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f", null ],
[ "parent_path", "classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562", null ],
- [ "path", "classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d", null ],
+ [ "path", "classllfio__v2__xxx_1_1path__view.html#ac367f2c429245c567448780511f24c0d", null ],
[ "relative_path", "classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032", null ],
[ "remove_filename", "classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee", null ],
[ "root_directory", "classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400", null ],
[ "root_name", "classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af", null ],
[ "root_path", "classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a", null ],
- [ "stem", "classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8", null ],
- [ "swap", "classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14", null ],
- [ "c_str", "classllfio__v2__xxx_1_1path__view.html#a9c02c1b6cc56f8221abea75a1e92a776", null ],
- [ "operator!=", "classllfio__v2__xxx_1_1path__view.html#a9ec27b9ac42042eb58d44837bdc1773c", null ],
- [ "operator<<", "classllfio__v2__xxx_1_1path__view.html#a565624fc24e6a6d57d38d0471e91cd84", null ],
- [ "operator==", "classllfio__v2__xxx_1_1path__view.html#a867468c27c376aa62c4ecc5413367bba", null ]
+ [ "stem", "classllfio__v2__xxx_1_1path__view.html#a4a0bfc3e06986b6287a22fdc97799181", null ],
+ [ "swap", "classllfio__v2__xxx_1_1path__view.html#a247fba2fecd5b850a17b0994f5913b4f", null ],
+ [ "without_trailing_separator", "classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998", null ],
+ [ "zero_termination", "classllfio__v2__xxx_1_1path__view.html#ac12652236847087552e7a8cc01ef5a71", null ],
+ [ "llfio_v2_xxx::operator!=", "classllfio__v2__xxx_1_1path__view.html#a2abd5b3147c3dadfd9f556dff8679c46", null ],
+ [ "llfio_v2_xxx::operator==", "classllfio__v2__xxx_1_1path__view.html#a04eaaa00f1a82c4160c60043df70c8f9", null ],
+ [ "_bytestr", "classllfio__v2__xxx_1_1path__view.html#ad71dcb87f377236474b948d621b3b2a8", null ],
+ [ "_char16str", "classllfio__v2__xxx_1_1path__view.html#ac3a413fa5bbe8dbe10765bc790c1b762", null ],
+ [ "_char8str", "classllfio__v2__xxx_1_1path__view.html#ad560fb8127764a5cf07357c07a35d8b0", null ],
+ [ "_charstr", "classllfio__v2__xxx_1_1path__view.html#a1531ffbbfb4d089a18f09809290190cc", null ],
+ [ "_wcharstr", "classllfio__v2__xxx_1_1path__view.html#a03281bf06f85b14622386bd87b9a947e", null ],
+ [ "fmt", "classllfio__v2__xxx_1_1path__view.html#abc5abda4e162d9a530fb73fa47a2f20a", null ],
+ [ "loc", "classllfio__v2__xxx_1_1path__view.html#ae324e5dac351729aa9513351218c5f54", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1path__view.png b/classllfio__v2__xxx_1_1path__view.png
new file mode 100644
index 00000000..0675a703
--- /dev/null
+++ b/classllfio__v2__xxx_1_1path__view.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1path__view__component-members.html b/classllfio__v2__xxx_1_1path__view__component-members.html
index 2a467a14..dc3d1309 100644
--- a/classllfio__v2__xxx_1_1path__view__component-members.html
+++ b/classllfio__v2__xxx_1_1path__view__component-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__component.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__component.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -93,33 +95,60 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__com
<tr bgcolor="#f0f0f0"><td class="entry"><b>_charstr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_raw_data</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_wcharstr</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>c_str</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>char16_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>contains_glob</b>() const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2">empty</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">contains_glob</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">empty</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fmt</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">formatting</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">has_extension</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">has_stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">has_zero_termination</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_acceptable&lt; Char &gt;)) const expr int compare(const Char *s) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator!=</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const std</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f">LLFIO_TEMPLATE</a>(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const Char *s</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858">LLFIO_TEMPLATE</a>(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>llfio_v2_xxx::operator!=</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>llfio_v2_xxx::operator&lt;&lt;</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>llfio_v2_xxx::operator==</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>llfio_v2_xxx::visit</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>llfio_v2_xxx::visit</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>loc</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const path_view_component &amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(path_view_component &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator==</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a>() const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_component</b>(const path_view_component &amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a>() const</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5">path_view_component</a>(path_view_component p, format fmt) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4">path_view_component</a>(const filesystem::path &amp;v, format fmt=auto_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e">path_view_component</a>(const char *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec">path_view_component</a>(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878">path_view_component</a>(const char8_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3">path_view_component</a>(const char16_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af">path_view_component</a>(const byte *b, size_t l, enum zero_termination zt) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_component</b>(path_view_component &amp;&amp;)=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">preferred_separator</a></td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a>(path_view_component &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~path_view_component</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a>(path_view_component &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>unknown</b> enum value (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">zero_termination</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~path_view_component</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">llfio_v2_xxx::path_view_component</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -127,7 +156,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__com
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__view__component.html b/classllfio__v2__xxx_1_1path__view__component.html
index 3d39b4d4..670b2899 100644
--- a/classllfio__v2__xxx_1_1path__view__component.html
+++ b/classllfio__v2__xxx_1_1path__view__component.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_view_component Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__component.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__component.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__com
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1path__view__component-members.html">List of all members</a> </div>
@@ -95,9 +98,38 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view__com
<a href="classllfio__v2__xxx_1_1path__view__component.html#details">More...</a></p>
<p><code>#include &quot;path_view.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::path_view_component:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1path__view__component.png" usemap="#llfio_5Fv2_5Fxxx::path_5Fview_5Fcomponent_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::path_5Fview_5Fcomponent_map" name="llfio_5Fv2_5Fxxx::path_5Fview_5Fcomponent_map">
+<area href="classllfio__v2__xxx_1_1path__view.html" title="A borrowed view of a path. A lightweight trivial-type alternative to std::filesystem::path." alt="llfio_v2_xxx::path_view" shape="rect" coords="0,56,209,80"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
+<tr class="memitem:a3d0688505b971f8ff6f9b9075817d48d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> : uint8_t { <br />
+&#160;&#160;<b>unknown</b>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:a3d0688505b971f8ff6f9b9075817d48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to interpret separators. <a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">More...</a><br /></td></tr>
+<tr class="separator:a3d0688505b971f8ff6f9b9075817d48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> { <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>
+ }</td></tr>
+<tr class="memdesc:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination to use. <a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">More...</a><br /></td></tr>
+<tr class="separator:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaddc29d3eb4bd29e2a676ad0eac864c0"><td class="memItemLeft" align="right" valign="top"><a id="aaddc29d3eb4bd29e2a676ad0eac864c0"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">size_type</a> = filesystem::path::string_type::size_type</td></tr>
+<tr class="memdesc:aaddc29d3eb4bd29e2a676ad0eac864c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size type. <br /></td></tr>
+<tr class="separator:aaddc29d3eb4bd29e2a676ad0eac864c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7663cb908516be3f8bf17b6826da186a"><td class="memItemLeft" align="right" valign="top"><a id="a7663cb908516be3f8bf17b6826da186a"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> = llfio_v2_xxx::byte</td></tr>
<tr class="memdesc:a7663cb908516be3f8bf17b6826da186a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type for passthrough input. <br /></td></tr>
@@ -105,12 +137,38 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="memitem:a38ff18893dfc84c562fb36c299702bf5"><td class="memItemLeft" align="right" valign="top"><a id="a38ff18893dfc84c562fb36c299702bf5"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>char16_t</b> = detail::char16_t</td></tr>
<tr class="separator:a38ff18893dfc84c562fb36c299702bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplParams" colspan="2"><a id="aaa1116ad357d1c73d1cc26ce28b29c82"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a> = std::default_delete&lt; T &gt;</td></tr>
+<tr class="memdesc:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default deleter to use. <br /></td></tr>
+<tr class="separator:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:a72f7bc6b8dd06f719f83732bc91f36e0"><td class="memItemLeft" align="right" valign="top"><a id="a72f7bc6b8dd06f719f83732bc91f36e0"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_component</b> (const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;)=default</td></tr>
-<tr class="separator:a72f7bc6b8dd06f719f83732bc91f36e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9595c5841e26ca5e0fc18e6d735b1142"><td class="memItemLeft" align="right" valign="top"><a id="a9595c5841e26ca5e0fc18e6d735b1142"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a> () noexcept</td></tr>
+<tr class="memdesc:a9595c5841e26ca5e0fc18e6d735b1142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty path view component (DEVIATES from P1030, is not trivial due to C++ 14 compatibility) <br /></td></tr>
+<tr class="separator:a9595c5841e26ca5e0fc18e6d735b1142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3189af1028540da228c8fb81cb90c6f5"><td class="memItemLeft" align="right" valign="top"><a id="a3189af1028540da228c8fb81cb90c6f5"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5">path_view_component</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt) noexcept</td></tr>
+<tr class="memdesc:a3189af1028540da228c8fb81cb90c6f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a path view component identical to the input, except with different format interpretation. <br /></td></tr>
+<tr class="separator:a3189af1028540da228c8fb81cb90c6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43082e0336e93d083dfce83291b962e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4">path_view_component</a> (const filesystem::path &amp;v, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a43082e0336e93d083dfce83291b962e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa83c384b9a61f57c318b61e8feb30d63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>(const std</td></tr>
+<tr class="separator:aa83c384b9a61f57c318b61e8feb30d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a006189dc9735a1403ef543e1d3e4346e"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e">path_view_component</a> (const char *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>) noexcept</td></tr>
+<tr class="separator:a006189dc9735a1403ef543e1d3e4346e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84b69ed407e2c8589edcd2f9ed394cec"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec">path_view_component</a> (const wchar_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>) noexcept</td></tr>
+<tr class="separator:a84b69ed407e2c8589edcd2f9ed394cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4587751f932a03bb771ab91e9be9878"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878">path_view_component</a> (const char8_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>) noexcept</td></tr>
+<tr class="separator:aa4587751f932a03bb771ab91e9be9878"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6211739a1098a8469a649bdccda20d3"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3">path_view_component</a> (const char16_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>) noexcept</td></tr>
+<tr class="separator:ae6211739a1098a8469a649bdccda20d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50a19bc52f7d49f7a1465441bf4641af"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af">path_view_component</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt) noexcept</td></tr>
+<tr class="separator:a50a19bc52f7d49f7a1465441bf4641af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30545f3b3926bf46b779364927fe2c2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>(const Char *s</td></tr>
+<tr class="separator:a30545f3b3926bf46b779364927fe2c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dfa033bda230ae9a1fdd60a17fb7880"><td class="memItemLeft" align="right" valign="top"><a id="a7dfa033bda230ae9a1fdd60a17fb7880"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_component</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a7dfa033bda230ae9a1fdd60a17fb7880"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -123,20 +181,41 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a026f3fd0f948212028182d1b501dffbb"><td class="memItemLeft" align="right" valign="top"><a id="a026f3fd0f948212028182d1b501dffbb"></a>
const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr>
<tr class="separator:a026f3fd0f948212028182d1b501dffbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a467256884725db92974c8a5a2c786bc2"><td class="memItemLeft" align="right" valign="top"><a id="a467256884725db92974c8a5a2c786bc2"></a>
-LLFIO_NODISCARD constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2">empty</a> () const noexcept</td></tr>
-<tr class="memdesc:a467256884725db92974c8a5a2c786bc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
-<tr class="separator:a467256884725db92974c8a5a2c786bc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memItemLeft" align="right" valign="top"><a id="aaba2705ba8660b2d9e28cbbd099a85ec"></a>
-LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a> () const noexcept</td></tr>
-<tr class="memdesc:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
-<tr class="separator:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247fba2fecd5b850a17b0994f5913b4f"><td class="memItemLeft" align="right" valign="top"><a id="a247fba2fecd5b850a17b0994f5913b4f"></a>
constexpr void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a247fba2fecd5b850a17b0994f5913b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the view with another. <br /></td></tr>
<tr class="separator:a247fba2fecd5b850a17b0994f5913b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memItemLeft" align="right" valign="top"><a id="a66781bc99e8f92dd82f6f04afa08a6c1"></a>
+constexpr LLFIO_NODISCARD bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">empty</a> () const noexcept</td></tr>
+<tr class="memdesc:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
+<tr class="separator:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memItemLeft" align="right" valign="top"><a id="aaba2705ba8660b2d9e28cbbd099a85ec"></a>
+LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a> () const noexcept</td></tr>
+<tr class="memdesc:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
+<tr class="separator:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b6792638386aa705083c173e5d9b948"><td class="memItemLeft" align="right" valign="top"><a id="a6b6792638386aa705083c173e5d9b948"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">formatting</a> () const noexcept</td></tr>
+<tr class="memdesc:a6b6792638386aa705083c173e5d9b948"><td class="mdescLeft">&#160;</td><td class="mdescRight">How path separators shall be interpreted. <br /></td></tr>
+<tr class="separator:a6b6792638386aa705083c173e5d9b948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memItemLeft" align="right" valign="top"><a id="a258fe430d6aa8a6f9cd9a3894cae5c44"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">has_zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if input is declared to be zero terminated. <br /></td></tr>
+<tr class="separator:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac12652236847087552e7a8cc01ef5a71"><td class="memItemLeft" align="right" valign="top"><a id="ac12652236847087552e7a8cc01ef5a71"></a>
+constexpr enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:ac12652236847087552e7a8cc01ef5a71"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination during construction. <br /></td></tr>
+<tr class="separator:ac12652236847087552e7a8cc01ef5a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a964de9984b51e6bfd021f7c1587863c0"><td class="memItemLeft" align="right" valign="top"><a id="a964de9984b51e6bfd021f7c1587863c0"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">has_stem</a> () const noexcept</td></tr>
+<tr class="memdesc:a964de9984b51e6bfd021f7c1587863c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>stem()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:a964de9984b51e6bfd021f7c1587863c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af286c0256f4800e35d816f4ba7571de4"><td class="memItemLeft" align="right" valign="top"><a id="af286c0256f4800e35d816f4ba7571de4"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">has_extension</a> () const noexcept</td></tr>
+<tr class="memdesc:af286c0256f4800e35d816f4ba7571de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>extension()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:af286c0256f4800e35d816f4ba7571de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acef767fc47e96966c201baf528193204"><td class="memItemLeft" align="right" valign="top"><a id="acef767fc47e96966c201baf528193204"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>contains_glob</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">contains_glob</a> () const noexcept</td></tr>
+<tr class="memdesc:acef767fc47e96966c201baf528193204"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the view contains any of the characters <code>*</code>, <code>?</code>, (POSIX only: <code>[</code> or <code>]</code>). <br /></td></tr>
<tr class="separator:acef767fc47e96966c201baf528193204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a0bfc3e06986b6287a22fdc97799181"><td class="memItemLeft" align="right" valign="top"><a id="a4a0bfc3e06986b6287a22fdc97799181"></a>
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a> () const noexcept</td></tr>
@@ -150,14 +229,35 @@ LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view_
filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a> () const</td></tr>
<tr class="memdesc:ac367f2c429245c567448780511f24c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path view as a path. Allocates and copies memory! <br /></td></tr>
<tr class="separator:ac367f2c429245c567448780511f24c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abec4610490eafa45921d1f8b0eaa7591"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) const expr int compare(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p) const</td></tr>
-<tr class="separator:abec4610490eafa45921d1f8b0eaa7591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f6999a46c792e260428497a722fc8ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt; &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; Char &gt;)) const expr int compare(const Char *s) const noexcept</td></tr>
-<tr class="separator:a5f6999a46c792e260428497a722fc8ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf8f8d21319fb02bdb0442d1fea2c7c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt; &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept</td></tr>
-<tr class="separator:aaf8f8d21319fb02bdb0442d1fea2c7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac114eb6e2ed74625c8dc89c6499c05a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) struct c_str</td></tr>
-<tr class="separator:ac114eb6e2ed74625c8dc89c6499c05a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a486c1bc907c6de489ac94069d6681c53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) const expr int compare(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p</td></tr>
+<tr class="separator:a486c1bc907c6de489ac94069d6681c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6e825af1c4052830156ebac93862858"><td class="memItemLeft" align="right" valign="top"><a id="ad6e825af1c4052830156ebac93862858"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) const expr int compare(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p) const</td></tr>
+<tr class="memdesc:ad6e825af1c4052830156ebac93862858"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:ad6e825af1c4052830156ebac93862858"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:af1fabc4bc53f545db0d3bb8e691ce3c2"><td class="memItemLeft" align="right" valign="top"><a id="af1fabc4bc53f545db0d3bb8e691ce3c2"></a>
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><b>fmt</b></td></tr>
+<tr class="separator:af1fabc4bc53f545db0d3bb8e691ce3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae324e5dac351729aa9513351218c5f54"><td class="memItemLeft" align="right" valign="top">const std::locale &amp;const&#160;</td><td class="memItemRight" valign="bottom"><b>loc</b></td></tr>
+<tr class="separator:ae324e5dac351729aa9513351218c5f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad71dcb87f377236474b948d621b3b2a8"><td class="memItemLeft" align="right" valign="top"><a id="ad71dcb87f377236474b948d621b3b2a8"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_bytestr</b> {nullptr}</td></tr>
+<tr class="separator:ad71dcb87f377236474b948d621b3b2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1531ffbbfb4d089a18f09809290190cc"><td class="memItemLeft" align="right" valign="top"><a id="a1531ffbbfb4d089a18f09809290190cc"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>_charstr</b></td></tr>
+<tr class="separator:a1531ffbbfb4d089a18f09809290190cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03281bf06f85b14622386bd87b9a947e"><td class="memItemLeft" align="right" valign="top"><a id="a03281bf06f85b14622386bd87b9a947e"></a>
+const wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_wcharstr</b></td></tr>
+<tr class="separator:a03281bf06f85b14622386bd87b9a947e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad560fb8127764a5cf07357c07a35d8b0"><td class="memItemLeft" align="right" valign="top"><a id="ad560fb8127764a5cf07357c07a35d8b0"></a>
+const char8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char8str</b></td></tr>
+<tr class="separator:ad560fb8127764a5cf07357c07a35d8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memItemLeft" align="right" valign="top"><a id="ac3a413fa5bbe8dbe10765bc790c1b762"></a>
+const char16_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char16str</b></td></tr>
+<tr class="separator:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
@@ -185,21 +285,90 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>path_view</b></td></
template&lt;class T , class Deleter , size_t _internal_buffer_size, typename std::enable_if&lt;(is_source_acceptable&lt; T &gt;), bool &gt;::type &gt; </td></tr>
<tr class="memitem:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>c_str</b></td></tr>
<tr class="separator:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a370fe50713921108205a445a90b96ea1"><td class="memItemLeft" align="right" valign="top"><a id="a370fe50713921108205a445a90b96ea1"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
-<tr class="separator:a370fe50713921108205a445a90b96ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a30afd0eb0ee1dfcc7dd2752cc5770c77"><td class="memItemLeft" align="right" valign="top"><a id="a30afd0eb0ee1dfcc7dd2752cc5770c77"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
-<tr class="separator:a30afd0eb0ee1dfcc7dd2752cc5770c77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18615f1a2c588d52c8d508d55ed3e7aa"><td class="memItemLeft" align="right" valign="top"><a id="a18615f1a2c588d52c8d508d55ed3e7aa"></a>
-std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;v)</td></tr>
-<tr class="separator:a18615f1a2c588d52c8d508d55ed3e7aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a9a4f820db0394db4c89c45e514a33c"><td class="memItemLeft" align="right" valign="top"><a id="a4a9a4f820db0394db4c89c45e514a33c"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
+<tr class="separator:a4a9a4f820db0394db4c89c45e514a33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30a4470b61f5a1ea093392dc115c6e6c"><td class="memItemLeft" align="right" valign="top"><a id="a30a4470b61f5a1ea093392dc115c6e6c"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
+<tr class="separator:a30a4470b61f5a1ea093392dc115c6e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add239c679a814a186146b28dcf3af6a6"><td class="memTemplParams" colspan="2"><a id="add239c679a814a186146b28dcf3af6a6"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:add239c679a814a186146b28dcf3af6a6"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::visit</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> view, F &amp;&amp;f)</td></tr>
+<tr class="separator:add239c679a814a186146b28dcf3af6a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af88fe8557982430291ccf05fd2224f72"><td class="memTemplParams" colspan="2"><a id="af88fe8557982430291ccf05fd2224f72"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:af88fe8557982430291ccf05fd2224f72"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::visit</b> (F &amp;&amp;f, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> view)</td></tr>
+<tr class="separator:af88fe8557982430291ccf05fd2224f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ffa562074527893c8be9c3a42b033b3"><td class="memItemLeft" align="right" valign="top"><a id="a1ffa562074527893c8be9c3a42b033b3"></a>
+std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;v)</td></tr>
+<tr class="separator:a1ffa562074527893c8be9c3a42b033b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An iterated part of a <code>path_view</code>. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="abec4610490eafa45921d1f8b0eaa7591"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abec4610490eafa45921d1f8b0eaa7591">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/4]</span></h2>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="a3d0688505b971f8ff6f9b9075817d48d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d0688505b971f8ff6f9b9075817d48d">&#9670;&nbsp;</a></span>format</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">llfio_v2_xxx::path_view_component::format</a> : uint8_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>How to interpret separators. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"></a>native_format&#160;</td><td class="fielddoc"><p>Separate at the native path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"></a>generic_format&#160;</td><td class="fielddoc"><p>Separate at the generic path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"></a>auto_format&#160;</td><td class="fielddoc"><p>Separate at both the native and generic path separators. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"></a>binary_format&#160;</td><td class="fielddoc"><p>Do not separate at any path separator. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; : uint8_t</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; unknown,</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>, <span class="comment">//!&lt; Separate at the native path separator only.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>, <span class="comment">//!&lt; Separate at the generic path separator only.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>, <span class="comment">//!&lt; Separate at both the native and generic path separators.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a> <span class="comment">//!&lt; Do not separate at any path separator.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a4a24bb2d232a1aa744c3ba4018f8732e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a24bb2d232a1aa744c3ba4018f8732e">&#9670;&nbsp;</a></span>zero_termination</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>The zero termination to use. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"></a>zero_terminated&#160;</td><td class="fielddoc"><p>The input is zero terminated, or requested output ought to be zero terminated. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"></a>not_zero_terminated&#160;</td><td class="fielddoc"><p>The input is not zero terminated, or requested output ought to not be zero terminated. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, <span class="comment">//!&lt; The input is zero terminated, or requested output ought to be zero terminated.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>, <span class="comment">//!&lt; The input is not zero terminated, or requested output ought to not be zero terminated.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a43082e0336e93d083dfce83291b962e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43082e0336e93d083dfce83291b962e4">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -208,44 +377,99 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td class="memname">llfio_v2_xxx::path_view_component::path_view_component </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const filesystem::path &amp;&#160;</td>
+ <td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Implicitly constructs a path view from a path. The input path MUST continue to exist for this view to be valid (DEVIATES from P1030 due to filesystem::path not exposing its path formatting). </p>
+<div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v.native().c_str(), v.native().size(), <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, fmt)</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a006189dc9735a1403ef543e1d3e4346e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a006189dc9735a1403ef543e1d3e4346e">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view_component::path_view_component </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
-<p>If the source encodings of the two path views are compatible, a lexicographical comparison is performed. If they are incompatible, either or both views are converted to the destination encoding using <code>c_str&lt;T, Delete, _internal_buffer_size&gt;</code>, and then a lexicographical comparison is performed.</p>
-<p>This can, for obvious reasons, be expensive. It can also throw exceptions, as <code>c_str</code> does.</p>
-<p>If the destination encoding is <code>byte</code>, <code>memcmp()</code> is used, and <code>c_str</code> is never invoked as the two sources are byte compared directly. </p>
-<div class="fragment"><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">return</span> _invoke([&amp;p](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keyword">self</span>) { <span class="keywordflow">return</span> p._invoke([&amp;<span class="keyword">self</span>](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;other) { <span class="keywordflow">return</span> _compare&lt;T, Deleter, _internal_buffer_size&gt;(<span class="keyword">self</span>, other); }); });</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; }</div></div><!-- fragment -->
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; : _charstr((l == 0) ? <span class="keyword">nullptr</span> : b)</div>
+<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; , _length((l == 0) ? 0 : l)</div>
+<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; , _zero_terminated((l == 0) ? <span class="keyword">false</span> : (zt == <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>))</div>
+<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; , _passthrough(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; , _char((l == 0) ? <span class="keyword">false</span> : <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; , _wchar(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; , _utf8(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; , _utf16(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; , _reserved1(0)</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; , _format(fmt)</div>
+<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5f6999a46c792e260428497a722fc8ff"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f6999a46c792e260428497a722fc8ff">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/4]</span></h2>
+<a id="a84b69ed407e2c8589edcd2f9ed394cec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a84b69ed407e2c8589edcd2f9ed394cec">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -254,47 +478,59 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view_component::path_view_component </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const wchar_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>, </td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname">&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const &amp;&amp;</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s, detail::constexpr_strlen(s), <span class="keyword">true</span>)); }</div></div><!-- fragment -->
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; : _wcharstr((l == 0) ? <span class="keyword">nullptr</span> : b)</div>
+<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; , _length((l == 0) ? 0 : l)</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; , _zero_terminated((l == 0) ? <span class="keyword">false</span> : (zt == <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>))</div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; , _passthrough(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; , _char(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; , _wchar((l == 0) ? <span class="keyword">false</span> : <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; , _utf8(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; , _utf16(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; , _reserved1(0)</div>
+<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; , _format(fmt)</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aaf8f8d21319fb02bdb0442d1fea2c7c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaf8f8d21319fb02bdb0442d1fea2c7c4">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/4]</span></h2>
+<a id="aa4587751f932a03bb771ab91e9be9878"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4587751f932a03bb771ab91e9be9878">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -303,47 +539,59 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view_component::path_view_component </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const char8_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>, </td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname">&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const &amp;&amp;</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s)); }</div></div><!-- fragment -->
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; : _char8str((l == 0) ? <span class="keyword">nullptr</span> : b)</div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; , _length((l == 0) ? 0 : l)</div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; , _zero_terminated((l == 0) ? <span class="keyword">false</span> : (zt == <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>))</div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; , _passthrough(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; , _char(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; , _wchar(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; , _utf8((l == 0) ? <span class="keyword">false</span> : <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; , _utf16(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; , _reserved1(0)</div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; , _format(fmt)</div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {</div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="ac114eb6e2ed74625c8dc89c6499c05a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac114eb6e2ed74625c8dc89c6499c05a1">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[4/4]</span></h2>
+<a id="ae6211739a1098a8469a649bdccda20d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6211739a1098a8469a649bdccda20d3">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -352,22 +600,83 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view_component::path_view_component </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const char16_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; : _char16str((l == 0) ? <span class="keyword">nullptr</span> : b)</div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; , _length((l == 0) ? 0 : l)</div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; , _zero_terminated((l == 0) ? <span class="keyword">false</span> : (zt == <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>))</div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; , _passthrough(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; , _char(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; , _wchar(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; , _utf8(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; , _utf16((l == 0) ? <span class="keyword">false</span> : <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; , _reserved1(0)</div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; , _format(fmt)</div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a50a19bc52f7d49f7a1465441bf4641af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50a19bc52f7d49f7a1465441bf4641af">&#9670;&nbsp;</a></span>path_view_component() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view_component::path_view_component </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -377,40 +686,114 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</td>
<td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of <code>byte</code>. The input array MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; : _bytestr((l == 0) ? <span class="keyword">nullptr</span> : b)</div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; , _length((l == 0) ? 0 : l)</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; , _zero_terminated((l == 0) ? <span class="keyword">false</span> : (zt == <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>))</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; , _passthrough((l == 0) ? <span class="keyword">false</span> : <span class="keyword">true</span>)</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; , _char(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; , _wchar(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; , _utf8(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; , _utf16(<span class="keyword">false</span>)</div>
+<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; , _reserved1(0)</div>
+<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; , _format(<a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>)</div>
+<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
+<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a30545f3b3926bf46b779364927fe2c2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30545f3b3926bf46b779364927fe2c2f">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Implicitly constructs a path view from a zero terminated pointer to a character array, which must be one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
+
+</div>
+</div>
+<a id="aa83c384b9a61f57c318b61e8feb30d63"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa83c384b9a61f57c318b61e8feb30d63">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Instantiate from a <code>path_view_component</code> to get a path suitable for feeding to other code. </p><dl class="tparams"><dt>Template Parameters</dt><dd>
- <table class="tparams">
- <tr><td class="paramname">T</td><td>The destination encoding required. </td></tr>
- <tr><td class="paramname">Deleter</td><td>A custom deleter for any temporary buffer. </td></tr>
- <tr><td class="paramname">_internal_buffer_size</td><td>Override the size of the internal temporary buffer, thus reducing stack space consumption (most compilers optimise away the internal temporary buffer if it can be proved it will never be used). The default is 1024 values of <code>T</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<p>This makes the input to the path view component into a destination format suitable for consumption by other code. If the source has the same format as the destination, and the zero termination requirements are the same, the source is used directly without memory copying nor reencoding.</p>
-<p>If the format is compatible, but the destination requires zero termination, and the source is not zero terminated, a straight memory copy is performed into the temporary buffer.</p>
-<p><code>c_str</code> contains a temporary buffer sized according to the template parameter. Output below that amount involves no dynamic memory allocation. Output above that amount calls <code>operator new[]</code>. You can use an externally supplied larger temporary buffer to avoid dynamic memory allocation in all situations. </p>
-<p>Type of the value type</p>
-<p>Type of the deleter</p>
-<p>The size of the internal temporary buffer</p>
-<p>Number of characters, excluding zero terminating char, at buffer</p>
-<p>Pointer to the possibly-converted path </p><pre class="fragment">Construct, performing any reencoding or memory copying required.
-</pre> <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">view</td><td>The path component view to use as source. </td></tr>
- <tr><td class="paramname">no_zero_terminate</td><td>Set to true if zero termination is not required. </td></tr>
- <tr><td class="paramname">allocate</td><td>A callable with prototype <code>value_type *(size_t length)</code> which is defaulted to <code>return new value_type[length];</code>. You can return <code>nullptr</code> if you wish, the consumer of <code>c_str</code> will see a <code>buffer</code> set to <code>nullptr</code>.</td></tr>
- </table>
- </dd>
-</dl>
-<p>If an error occurs during any conversion from UTF-8 or UTF-16, an exception of <code>system_error(errc::illegal_byte_sequence)</code> is thrown. This is because if you tell <code>path_view</code> that its source is UTF-8 or UTF-16, then that must be <b>valid</b> UTF. If you wish to supply UTF-invalid paths (which are legal on most filesystems), use native narrow or wide encoded source, or binary.</p>
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; static_assert(is_source_acceptable&lt;T&gt;, <span class="stringliteral">&quot;path_view_component::c_str&lt;T&gt; does not have a T which is one of byte, char, wchar_t, char8_t nor char16_t&quot;</span>);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment"> //! Type of the value type</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;<span class="comment"></span> <span class="keyword">using</span> value_type = T;<span class="comment"></span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="comment"> //! Type of the deleter</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="comment"></span> <span class="keyword">using</span> deleter_type = Deleter;<span class="comment"></span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="comment"> //! The size of the internal temporary buffer</span></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="comment"></span> <span class="keyword">static</span> constexpr <span class="keywordtype">size_t</span> internal_buffer_size = (_internal_buffer_size == 0) ? 1 : _internal_buffer_size;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="comment"> //! Number of characters, excluding zero terminating char, at buffer</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment"></span> <span class="keywordtype">size_t</span> <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>{0};<span class="comment"></span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="comment"> //! Pointer to the possibly-converted path</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="comment"></span> <span class="keyword">const</span> value_type *buffer{<span class="keyword">nullptr</span>};</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U, <span class="keyword">class</span> source_type&gt; <span class="keywordtype">void</span> _make_passthrough(path_view_component <span class="comment">/*unused*/</span>, <span class="keywordtype">bool</span> <span class="comment">/*unused*/</span>, U &amp; <span class="comment">/*unused*/</span>, <span class="keyword">const</span> source_type * <span class="comment">/*unused*/</span>) {}</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U&gt; <span class="keywordtype">void</span> _make_passthrough(path_view_component view, <span class="keywordtype">bool</span> no_zero_terminate, U &amp;allocate, <span class="keyword">const</span> value_type *source)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = view._length;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">if</span>(no_zero_terminate || view._zero_terminated)</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; buffer = source;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">// Source must be not zero terminated, and zero terminated is required</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> required_length = view._length + view._zero_terminated;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> required_bytes = required_length * <span class="keyword">sizeof</span>(value_type);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> _buffer_bytes = <span class="keyword">sizeof</span>(_buffer);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">if</span>(required_bytes &gt; 65535)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; LLFIO_LOG_FATAL(<span class="keyword">nullptr</span>, <span class="stringliteral">&quot;Paths exceeding 64Kb are impossible on Microsoft Windows&quot;</span>);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; abort();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">if</span>(required_bytes &lt;= _buffer_bytes)</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="comment">// Use the internal buffer</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; memcpy(_buffer, source, required_bytes);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; _buffer[required_length] = 0;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; buffer = _buffer;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; }</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">auto</span> *buffer_ = allocate(required_length);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">nullptr</span> == buffer_)</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; {</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = 0;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; _call_deleter = <span class="keyword">true</span>;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; memcpy(buffer_, source, required_bytes);</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; buffer_[required_length] = 0;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; buffer = buffer_;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; }</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; }</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="preprocessor">#pragma warning(push)</span></div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="preprocessor">#pragma warning(disable : 4127) // conditional expression is constant</span></div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="comment"> /*! Construct, performing any reencoding or memory copying required.</span></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="comment"> \param view The path component view to use as source.</span></div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="comment"> \param no_zero_terminate Set to true if zero termination is not required.</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="comment"> \param allocate A callable with prototype `value_type *(size_t length)` which</span></div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="comment"> is defaulted to `return new value_type[length];`. You can return `nullptr` if</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="comment"> you wish, the consumer of `c_str` will see a `buffer` set to `nullptr`.</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;<span class="comment"> If an error occurs during any conversion from UTF-8 or UTF-16, an exception of</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="comment"> `system_error(errc::illegal_byte_sequence)` is thrown.</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="comment"> This is because if you tell `path_view` that its source is UTF-8 or UTF-16, then that</span></div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="comment"> must be **valid** UTF. If you wish to supply UTF-invalid paths (which are legal</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="comment"> on most filesystems), use native narrow or wide encoded source, or binary.</span></div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U&gt; c_str(path_view_component view, <span class="keywordtype">bool</span> no_zero_terminate, U &amp;&amp;allocate)</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span>(0 == view._length)</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; _buffer[0] = 0;</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; buffer = _buffer;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = 0;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, byte&gt;::value || view._passthrough)</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = view._length;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; buffer = (<span class="keyword">const</span> value_type *) view._bytestr;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; }</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, char&gt;::value &amp;&amp; view._char)</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._charstr);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; }</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, wchar_t&gt;::value &amp;&amp; view._wchar)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._wcharstr);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, char8_t&gt;::value &amp;&amp; view._utf8)</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._char8str);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, char16_t&gt;::value &amp;&amp; view._utf16)</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; {</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._char16str);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">// On Windows, consider char16_t input equivalent to wchar_t</span></div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, wchar_t&gt;::value &amp;&amp; view._utf16)</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; {</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._wcharstr);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="comment">// On POSIX, consider char8_t input equivalent to char</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">if</span>(std::is_same&lt;T, char&gt;::value &amp;&amp; view._utf8)</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; {</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; _make_passthrough(view, no_zero_terminate, allocate, view._charstr);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; }</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="comment">// A reencode is required. We keep this out of header because reencoding</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">// requires dragging in lots of system header files.</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordtype">size_t</span> required_length = 0;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; value_type *end = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">if</span>(view._passthrough)</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; {</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; end = detail::reencode_path_to(required_length, _buffer, _internal_buffer_size, view._bytestr, view._length);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._char)</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; {</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; end = detail::reencode_path_to(required_length, _buffer, _internal_buffer_size, view._charstr, view._length);</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._wchar)</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; end = detail::reencode_path_to(required_length, _buffer, _internal_buffer_size, view._wcharstr, view._length);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; }</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._utf8)</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; end = detail::reencode_path_to(required_length, _buffer, _internal_buffer_size, view._char8str, view._length);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; }</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._utf16)</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; {</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; end = detail::reencode_path_to(required_length, _buffer, _internal_buffer_size, view._char16str, view._length);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; LLFIO_LOG_FATAL(<span class="keyword">nullptr</span>, <span class="stringliteral">&quot;path_view_component::cstr somehow sees no state!&quot;</span>);</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; abort();</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span>(0 == required_length)</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="comment">// The internal buffer was sufficient.</span></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; buffer = _buffer;</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = end - _buffer;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="comment">// The internal buffer is too small. Fall back to dynamic allocation. This may throw.</span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keyword">auto</span> *allocated_buffer = allocate(required_length);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">nullptr</span> == allocated_buffer)</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = 0;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; _call_deleter = <span class="keyword">true</span>;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; memcpy(allocated_buffer, _buffer, end - _buffer);</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; required_length -= (end - _buffer);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; end = allocated_buffer + (end - _buffer);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span>(view._passthrough)</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; end = detail::reencode_path_to(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, end, required_length, view._bytestr, view._length);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._char)</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; end = detail::reencode_path_to(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, end, required_length, view._charstr, view._length);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._wchar)</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; end = detail::reencode_path_to(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, end, required_length, view._wcharstr, view._length);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._utf8)</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; end = detail::reencode_path_to(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, end, required_length, view._char8str, view._length);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(view._utf16)</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; end = detail::reencode_path_to(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>, end, required_length, view._char16str, view._length);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; LLFIO_LOG_FATAL(<span class="keyword">nullptr</span>, <span class="stringliteral">&quot;path_view_component::cstr somehow sees no state!&quot;</span>);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; abort();</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; buffer = allocated_buffer;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> = end - buffer;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="preprocessor">#pragma warning(pop)</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="comment"> //! \overload</span></div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;<span class="comment"></span> c_str(path_view_component view, <span class="keywordtype">bool</span> no_zero_terminate = <span class="keyword">false</span>)</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; : c_str(view, no_zero_terminate, [](size_t <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) { <span class="keywordflow">return</span> <span class="keyword">new</span> value_type[<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>]; })</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; }</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; ~c_str() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; c_str(<span class="keyword">const</span> c_str &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; c_str(c_str &amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; c_str &amp;operator=(<span class="keyword">const</span> c_str &amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; c_str &amp;operator=(c_str &amp;&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordtype">bool</span> _call_deleter{<span class="keyword">false</span>};</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; Deleter _deleter;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">// MAKE SURE this is the final item in storage, the compiler will elide the storage</span></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">// under optimisation if it can prove it is never used.</span></div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; value_type _buffer[internal_buffer_size]{};</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:714</div></div>
+<p>Constructs from a basic string if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
+<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v.data(), v.size(), <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, fmt)</div>
+<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
+<a id="a486c1bc907c6de489ac94069d6681c53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a486c1bc907c6de489ac94069d6681c53">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td>(</td>
+ <td class="paramtype">class T&#160;</td>
+ <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">class Deleter&#160;</td>
+ <td class="paramname"> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt;T[]&gt;</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
+<p>If the source encodings of the two path views are compatible, a lexicographical comparison is performed. If they are incompatible, either or both views are converted to the destination encoding using <code>c_str&lt;T, Delete, _internal_buffer_size&gt;</code>, and then a lexicographical comparison is performed.</p>
+<p>This can, for obvious reasons, be expensive. It can also throw exceptions, as <code>c_str</code> does.</p>
+<p>If the destination encoding is <code>byte</code>, <code>memcmp()</code> is used, and <code>c_str</code> is never invoked as the two sources are byte compared directly. </p>
+
+</div>
+</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a411e9c36a49bd37d596ab34f99b656fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a411e9c36a49bd37d596ab34f99b656fd">&#9670;&nbsp;</a></span>is_source_acceptable</h2>
@@ -429,7 +812,7 @@ template&lt;class Char &gt; </div>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -454,7 +837,7 @@ template&lt;class Char &gt; </div>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -462,18 +845,45 @@ template&lt;class Char &gt; </div>
</div>
</div>
+<a id="ae324e5dac351729aa9513351218c5f54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae324e5dac351729aa9513351218c5f54">&#9670;&nbsp;</a></span>loc</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const std::locale&amp; const llfio_v2_xxx::path_view_component::loc</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> <span class="keywordflow">return</span> _invoke([&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keyword">self</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> p._invoke(</div>
+<div class="line"> [&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;other) { <span class="keywordflow">return</span> _compare&lt;T, Deleter, _internal_buffer_size&gt;(<span class="keyword">self</span>, <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>(), other, p.zero_termination(), &amp;loc); });</div>
+<div class="line"> })</div>
+</div><!-- fragment -->
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="path__view_8hpp.html">path_view.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">llfio_v2_xxx::path_view_component::native_format</a></div><div class="ttdeci">@ native_format</div><div class="ttdoc">Separate at the native path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:225</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a9595c5841e26ca5e0fc18e6d735b1142"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">llfio_v2_xxx::path_view_component::path_view_component</a></div><div class="ttdeci">constexpr path_view_component() noexcept</div><div class="ttdoc">Constructs an empty path view component (DEVIATES from P1030, is not trivial due to C++ 14 compatibil...</div><div class="ttdef"><b>Definition:</b> path_view.hpp:264</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732e"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></div><div class="ttdeci">zero_termination</div><div class="ttdoc">The zero termination to use.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:232</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">llfio_v2_xxx::path_view_component::not_zero_terminated</a></div><div class="ttdeci">@ not_zero_terminated</div><div class="ttdoc">The input is not zero terminated, or requested output ought to not be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:235</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">llfio_v2_xxx::path_view_component::binary_format</a></div><div class="ttdeci">@ binary_format</div><div class="ttdoc">Do not separate at any path separator.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:228</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">llfio_v2_xxx::path_view_component::zero_terminated</a></div><div class="ttdeci">@ zero_terminated</div><div class="ttdoc">The input is zero terminated, or requested output ought to be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:234</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">llfio_v2_xxx::path_view_component::auto_format</a></div><div class="ttdeci">@ auto_format</div><div class="ttdoc">Separate at both the native and generic path separators.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:227</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">llfio_v2_xxx::path_view_component::generic_format</a></div><div class="ttdeci">@ generic_format</div><div class="ttdoc">Separate at the generic path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:226</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1path__view__component.js b/classllfio__v2__xxx_1_1path__view__component.js
index 14cbe420..a24706ef 100644
--- a/classllfio__v2__xxx_1_1path__view__component.js
+++ b/classllfio__v2__xxx_1_1path__view__component.js
@@ -2,31 +2,60 @@ var classllfio__v2__xxx_1_1path__view__component =
[
[ "byte", "classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a", null ],
[ "char16_t", "classllfio__v2__xxx_1_1path__view__component.html#a38ff18893dfc84c562fb36c299702bf5", null ],
- [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a72f7bc6b8dd06f719f83732bc91f36e0", null ],
+ [ "default_c_str_deleter", "classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0", null ],
+ [ "format", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d", [
+ [ "unknown", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da939870da420c261803566b4aa696edd2", null ],
+ [ "native_format", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b", null ],
+ [ "generic_format", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455", null ],
+ [ "auto_format", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039", null ],
+ [ "binary_format", "classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055", null ]
+ ] ],
+ [ "zero_termination", "classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e", [
+ [ "zero_terminated", "classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6", null ],
+ [ "not_zero_terminated", "classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f", null ]
+ ] ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3", null ],
+ [ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af", null ],
[ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a7dfa033bda230ae9a1fdd60a17fb7880", null ],
[ "~path_view_component", "classllfio__v2__xxx_1_1path__view__component.html#a93aef9d3a7c37537ec71bd788d0f7272", null ],
[ "_raw_data", "classllfio__v2__xxx_1_1path__view__component.html#a026f3fd0f948212028182d1b501dffbb", null ],
[ "contains_glob", "classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204", null ],
- [ "empty", "classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2", null ],
+ [ "empty", "classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1", null ],
[ "extension", "classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4", null ],
- [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1", null ],
+ [ "formatting", "classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948", null ],
+ [ "has_extension", "classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4", null ],
+ [ "has_stem", "classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0", null ],
+ [ "has_zero_termination", "classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53", null ],
+ [ "LLFIO_TEMPLATE", "classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858", null ],
[ "native_size", "classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__view__component.html#a4b9a5f0abe97449212fac7607b5dadd5", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__view__component.html#aac07b365ff507ce5493fdc608d48329c", null ],
[ "path", "classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d", null ],
[ "stem", "classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181", null ],
[ "swap", "classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f", null ],
+ [ "zero_termination", "classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71", null ],
[ "c_str", "classllfio__v2__xxx_1_1path__view__component.html#a9c02c1b6cc56f8221abea75a1e92a776", null ],
- [ "operator!=", "classllfio__v2__xxx_1_1path__view__component.html#a30afd0eb0ee1dfcc7dd2752cc5770c77", null ],
- [ "operator<<", "classllfio__v2__xxx_1_1path__view__component.html#a18615f1a2c588d52c8d508d55ed3e7aa", null ],
- [ "operator==", "classllfio__v2__xxx_1_1path__view__component.html#a370fe50713921108205a445a90b96ea1", null ],
+ [ "llfio_v2_xxx::operator!=", "classllfio__v2__xxx_1_1path__view__component.html#a30a4470b61f5a1ea093392dc115c6e6c", null ],
+ [ "llfio_v2_xxx::operator<<", "classllfio__v2__xxx_1_1path__view__component.html#a1ffa562074527893c8be9c3a42b033b3", null ],
+ [ "llfio_v2_xxx::operator==", "classllfio__v2__xxx_1_1path__view__component.html#a4a9a4f820db0394db4c89c45e514a33c", null ],
+ [ "llfio_v2_xxx::visit", "classllfio__v2__xxx_1_1path__view__component.html#af88fe8557982430291ccf05fd2224f72", null ],
+ [ "llfio_v2_xxx::visit", "classllfio__v2__xxx_1_1path__view__component.html#add239c679a814a186146b28dcf3af6a6", null ],
[ "path_view", "classllfio__v2__xxx_1_1path__view__component.html#ad10ef737f6f91fc67cc2c26326b45c2f", null ],
[ "_bytestr", "classllfio__v2__xxx_1_1path__view__component.html#ad71dcb87f377236474b948d621b3b2a8", null ],
[ "_char16str", "classllfio__v2__xxx_1_1path__view__component.html#ac3a413fa5bbe8dbe10765bc790c1b762", null ],
[ "_char8str", "classllfio__v2__xxx_1_1path__view__component.html#ad560fb8127764a5cf07357c07a35d8b0", null ],
[ "_charstr", "classllfio__v2__xxx_1_1path__view__component.html#a1531ffbbfb4d089a18f09809290190cc", null ],
- [ "_wcharstr", "classllfio__v2__xxx_1_1path__view__component.html#a03281bf06f85b14622386bd87b9a947e", null ]
+ [ "_wcharstr", "classllfio__v2__xxx_1_1path__view__component.html#a03281bf06f85b14622386bd87b9a947e", null ],
+ [ "fmt", "classllfio__v2__xxx_1_1path__view__component.html#af1fabc4bc53f545db0d3bb8e691ce3c2", null ],
+ [ "loc", "classllfio__v2__xxx_1_1path__view__component.html#ae324e5dac351729aa9513351218c5f54", null ]
]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1path__view__component.png b/classllfio__v2__xxx_1_1path__view__component.png
new file mode 100644
index 00000000..b8aa804f
--- /dev/null
+++ b/classllfio__v2__xxx_1_1path__view__component.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1pipe__handle-members.html b/classllfio__v2__xxx_1_1pipe__handle-members.html
new file mode 100644
index 00000000..0294d493
--- /dev/null
+++ b/classllfio__v2__xxx_1_1pipe__handle-members.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1pipe__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::pipe_handle Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_ctx</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_barrier</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_do_multiplexer_read</b>(registered_buffer_type &amp;&amp;base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_do_multiplexer_write</b>(registered_buffer_type &amp;&amp;base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a>(size_t &amp;bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b">anonymous_pipe</a>(caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>awaitable</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(barrier_kind kind, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_kind</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>co_write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">io_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367">io_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785">io_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7">io_handle</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737">io_handle</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4">operator=</a>(const pipe_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94">operator=</a>(pipe_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">pipe</a>(path_view_type path, mode _mode, creation _creation, caching _caching=caching::all, flag flags=flag::none, const path_handle &amp;base=path_discovery::temporary_named_pipes_directory()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15">pipe_create</a>(path_view_type path, caching _caching=caching::all, flag flags=flag::unlink_on_first_close, const path_handle &amp;base=path_discovery::temporary_named_pipes_directory()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30">pipe_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e">pipe_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85">pipe_handle</a>(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d">pipe_handle</a>(const pipe_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57">pipe_handle</a>(pipe_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575">pipe_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530">pipe_handle</a>(handle &amp;&amp;o, io_multiplexer *ctx) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a">pipe_handle</a>(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347">pipe_handle</a>(io_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2">pipe_open</a>(path_view_type path, caching _caching=caching::all, flag flags=flag::none, const path_handle &amp;base=path_discovery::temporary_named_pipes_directory()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3">random_pipe</a>(mode _mode=mode::read, caching _caching=caching::all, flag flags=flag::unlink_on_first_close, const path_handle &amp;dirpath=path_discovery::temporary_named_pipes_directory()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>registered_buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a>(io_multiplexer *c=this_thread::multiplexer()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0">swap</a>(pipe_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_barrier_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_barrier_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_read_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_read_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_write_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_write_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~pipe_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1pipe__handle.html b/classllfio__v2__xxx_1_1pipe__handle.html
new file mode 100644
index 00000000..6f050ffd
--- /dev/null
+++ b/classllfio__v2__xxx_1_1pipe__handle.html
@@ -0,0 +1,1798 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::pipe_handle Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1pipe__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classllfio__v2__xxx_1_1pipe__handle-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::pipe_handle Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A handle to a named or anonymous pipe.
+ <a href="classllfio__v2__xxx_1_1pipe__handle.html#details">More...</a></p>
+
+<p><code>#include &quot;pipe_handle.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::pipe_handle:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1pipe__handle.png" usemap="#llfio_5Fv2_5Fxxx::pipe_5Fhandle_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::pipe_5Fhandle_map" name="llfio_5Fv2_5Fxxx::pipe_5Fhandle_map">
+<area href="classllfio__v2__xxx_1_1io__handle.html" title="A handle to something capable of scatter-gather byte i/o." alt="llfio_v2_xxx::io_handle" shape="rect" coords="0,56,153,80"/>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="163,56,316,80"/>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,153,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:addf6cc73369f6d4f1e7b529e083552ab"><td class="memItemLeft" align="right" valign="top"><a id="addf6cc73369f6d4f1e7b529e083552ab"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = io_handle::path_type</td></tr>
+<tr class="separator:addf6cc73369f6d4f1e7b529e083552ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e3e779f751e9732f237c2d60e8edb3"><td class="memItemLeft" align="right" valign="top"><a id="a86e3e779f751e9732f237c2d60e8edb3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = io_handle::extent_type</td></tr>
+<tr class="separator:a86e3e779f751e9732f237c2d60e8edb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0116ff078dc60da810a8170f4b7f6720"><td class="memItemLeft" align="right" valign="top"><a id="a0116ff078dc60da810a8170f4b7f6720"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = io_handle::size_type</td></tr>
+<tr class="separator:a0116ff078dc60da810a8170f4b7f6720"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78225352309cfe47ba4b88e218231cb6"><td class="memItemLeft" align="right" valign="top"><a id="a78225352309cfe47ba4b88e218231cb6"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">io_handle::mode</a></td></tr>
+<tr class="separator:a78225352309cfe47ba4b88e218231cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad622556b831bdc12bfd32552fd325529"><td class="memItemLeft" align="right" valign="top"><a id="ad622556b831bdc12bfd32552fd325529"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">io_handle::creation</a></td></tr>
+<tr class="separator:ad622556b831bdc12bfd32552fd325529"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaad4d496ae011dced498bc46162917c2"><td class="memItemLeft" align="right" valign="top"><a id="aaad4d496ae011dced498bc46162917c2"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">io_handle::caching</a></td></tr>
+<tr class="separator:aaad4d496ae011dced498bc46162917c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3efccd17a106ade83e13cce154627c6f"><td class="memItemLeft" align="right" valign="top"><a id="a3efccd17a106ade83e13cce154627c6f"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = io_handle::flag</td></tr>
+<tr class="separator:a3efccd17a106ade83e13cce154627c6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65b5db5497f23147b46684d375cf2af3"><td class="memItemLeft" align="right" valign="top"><a id="a65b5db5497f23147b46684d375cf2af3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">io_handle::buffer_type</a></td></tr>
+<tr class="separator:a65b5db5497f23147b46684d375cf2af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a64dbc83bff0cd3cdbdbbbf5790331"><td class="memItemLeft" align="right" valign="top"><a id="a69a64dbc83bff0cd3cdbdbbbf5790331"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a></td></tr>
+<tr class="separator:a69a64dbc83bff0cd3cdbdbbbf5790331"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf0ed095bd68c7605af258e1e4e4d56d"><td class="memItemLeft" align="right" valign="top"><a id="aaf0ed095bd68c7605af258e1e4e4d56d"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>buffers_type</b> = io_handle::buffers_type</td></tr>
+<tr class="separator:aaf0ed095bd68c7605af258e1e4e4d56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9538abba49629b0981480f654ffe63d"><td class="memItemLeft" align="right" valign="top"><a id="ad9538abba49629b0981480f654ffe63d"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffers_type</b> = io_handle::const_buffers_type</td></tr>
+<tr class="separator:ad9538abba49629b0981480f654ffe63d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7891cea73fd80138fbfc9170c4777c16"><td class="memTemplParams" colspan="2"><a id="a7891cea73fd80138fbfc9170c4777c16"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a7891cea73fd80138fbfc9170c4777c16"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_request</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; T &gt;</td></tr>
+<tr class="separator:a7891cea73fd80138fbfc9170c4777c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32c60dec78576807a163d370e7a47409"><td class="memTemplParams" colspan="2"><a id="a32c60dec78576807a163d370e7a47409"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a32c60dec78576807a163d370e7a47409"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
+<tr class="separator:a32c60dec78576807a163d370e7a47409"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1045e33170d615420a0f743bd8e5ec2"><td class="memItemLeft" align="right" valign="top"><a id="ae1045e33170d615420a0f743bd8e5ec2"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>dev_t</b> = fs_handle::dev_t</td></tr>
+<tr class="separator:ae1045e33170d615420a0f743bd8e5ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a391dfad3885f1586224c44c6824e30eb"><td class="memItemLeft" align="right" valign="top"><a id="a391dfad3885f1586224c44c6824e30eb"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>ino_t</b> = fs_handle::ino_t</td></tr>
+<tr class="separator:a391dfad3885f1586224c44c6824e30eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac121cc7fa9d30c0c4ffecd0d8469c37d"><td class="memItemLeft" align="right" valign="top"><a id="ac121cc7fa9d30c0c4ffecd0d8469c37d"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_type</b> = <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">fs_handle::path_view_type</a></td></tr>
+<tr class="separator:ac121cc7fa9d30c0c4ffecd0d8469c37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memItemLeft" align="right" valign="top"><a id="a0e3d363c01073647a00a2fbbd7b50fbf"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_kind</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">io_multiplexer::barrier_kind</a></td></tr>
+<tr class="separator:a0e3d363c01073647a00a2fbbd7b50fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f6466750a7411512da502cd60d3c461"><td class="memItemLeft" align="right" valign="top"><a id="a9f6466750a7411512da502cd60d3c461"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>registered_buffer_type</b> = <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">io_multiplexer::registered_buffer_type</a></td></tr>
+<tr class="separator:a9f6466750a7411512da502cd60d3c461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplParams" colspan="2"><a id="ac7a2e68c2f5d49187ec3d179e40b33ea"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>awaitable</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">io_multiplexer::awaitable</a>&lt; T &gt;</td></tr>
+<tr class="separator:ac7a2e68c2f5d49187ec3d179e40b33ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
+<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1d4c5c39a211181ccd1a2ebeac4acb30"><td class="memItemLeft" align="right" valign="top"><a id="a1d4c5c39a211181ccd1a2ebeac4acb30"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30">pipe_handle</a> ()</td></tr>
+<tr class="memdesc:a1d4c5c39a211181ccd1a2ebeac4acb30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a1d4c5c39a211181ccd1a2ebeac4acb30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a059c4dfab3ed474d539dabd783892b0e"><td class="memItemLeft" align="right" valign="top"><a id="a059c4dfab3ed474d539dabd783892b0e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e">pipe_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:a059c4dfab3ed474d539dabd783892b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a059c4dfab3ed474d539dabd783892b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15f621ed9c82e7c9e9c24d2ba299ee85"><td class="memItemLeft" align="right" valign="top"><a id="a15f621ed9c82e7c9e9c24d2ba299ee85"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85">pipe_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx)</td></tr>
+<tr class="memdesc:a15f621ed9c82e7c9e9c24d2ba299ee85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:a15f621ed9c82e7c9e9c24d2ba299ee85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5eda647e77f848d07763bebef75473d"><td class="memItemLeft" align="right" valign="top"><a id="aa5eda647e77f848d07763bebef75473d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d">pipe_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;)=delete</td></tr>
+<tr class="memdesc:aa5eda647e77f848d07763bebef75473d"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use clone()) <br /></td></tr>
+<tr class="separator:aa5eda647e77f848d07763bebef75473d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a673cc362e4d4b7ca3c0499d4ba51ace4"><td class="memItemLeft" align="right" valign="top"><a id="a673cc362e4d4b7ca3c0499d4ba51ace4"></a>
+<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4">operator=</a> (const <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;)=delete</td></tr>
+<tr class="memdesc:a673cc362e4d4b7ca3c0499d4ba51ace4"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy assignment. <br /></td></tr>
+<tr class="separator:a673cc362e4d4b7ca3c0499d4ba51ace4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57ba2b79928a2b9b6b556e7364b05a57"><td class="memItemLeft" align="right" valign="top"><a id="a57ba2b79928a2b9b6b556e7364b05a57"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57">pipe_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a57ba2b79928a2b9b6b556e7364b05a57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit move construction of <code>pipe_handle</code> permitted. <br /></td></tr>
+<tr class="separator:a57ba2b79928a2b9b6b556e7364b05a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9cd2f81eb83696e8787b4bc02d31575"><td class="memItemLeft" align="right" valign="top"><a id="ad9cd2f81eb83696e8787b4bc02d31575"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575">pipe_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:ad9cd2f81eb83696e8787b4bc02d31575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:ad9cd2f81eb83696e8787b4bc02d31575"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d125573d7a8c08d50b234470067e530"><td class="memItemLeft" align="right" valign="top"><a id="a5d125573d7a8c08d50b234470067e530"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530">pipe_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:a5d125573d7a8c08d50b234470067e530"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:a5d125573d7a8c08d50b234470067e530"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae008da2cbe3de01cfad2a8252e449b8a"><td class="memItemLeft" align="right" valign="top"><a id="ae008da2cbe3de01cfad2a8252e449b8a"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a">pipe_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td></tr>
+<tr class="memdesc:ae008da2cbe3de01cfad2a8252e449b8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from io_handle permitted. <br /></td></tr>
+<tr class="separator:ae008da2cbe3de01cfad2a8252e449b8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a95997b7fd729b09798a87f71efab4347"><td class="memItemLeft" align="right" valign="top"><a id="a95997b7fd729b09798a87f71efab4347"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347">pipe_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a95997b7fd729b09798a87f71efab4347"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from io_handle permitted. <br /></td></tr>
+<tr class="separator:a95997b7fd729b09798a87f71efab4347"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6926cae050b034558a3ae25ec9c0de94"><td class="memItemLeft" align="right" valign="top"><a id="a6926cae050b034558a3ae25ec9c0de94"></a>
+<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a6926cae050b034558a3ae25ec9c0de94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment of <code>pipe_handle</code> permitted. <br /></td></tr>
+<tr class="separator:a6926cae050b034558a3ae25ec9c0de94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0f9776120b20ef01a545152901117a0"><td class="memItemLeft" align="right" valign="top"><a id="ae0f9776120b20ef01a545152901117a0"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:ae0f9776120b20ef01a545152901117a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:ae0f9776120b20ef01a545152901117a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0ae759071d6e5907e73b657a4da688e"><td class="memItemLeft" align="right" valign="top"><a id="ad0ae759071d6e5907e73b657a4da688e"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e">close</a> () noexcept override</td></tr>
+<tr class="memdesc:ad0ae759071d6e5907e73b657a4da688e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:ad0ae759071d6e5907e73b657a4da688e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac44b02d62334e55b99a5668d67ad484e"><td class="memItemLeft" align="right" valign="top"><a id="ac44b02d62334e55b99a5668d67ad484e"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:ac44b02d62334e55b99a5668d67ad484e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o multiplexer this handle will use to multiplex i/o. If this returns null, then this handle has not been registered with an i/o multiplexer yet. <br /></td></tr>
+<tr class="separator:ac44b02d62334e55b99a5668d67ad484e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a281467f83f70f2e12aaedf5847fd818c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *c=<a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()) noexcept</td></tr>
+<tr class="memdesc:a281467f83f70f2e12aaedf5847fd818c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. <a href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">More...</a><br /></td></tr>
+<tr class="separator:a281467f83f70f2e12aaedf5847fd818c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:aa3465a87f2c732cd6465cd3a832a26f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">More...</a><br /></td></tr>
+<tr class="separator:aa3465a87f2c732cd6465cd3a832a26f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memItemLeft" align="right" valign="top">result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:a97ac1b43da39d9935919ac848ee3e8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">More...</a><br /></td></tr>
+<tr class="separator:a97ac1b43da39d9935919ac848ee3e8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae04ada27942187f03b59044cd1328f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ae04ada27942187f03b59044cd1328f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">More...</a><br /></td></tr>
+<tr class="separator:ae04ada27942187f03b59044cd1328f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411cebe2880393c7c61caa6a168b128b"><td class="memItemLeft" align="right" valign="top"><a id="a411cebe2880393c7c61caa6a168b128b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a411cebe2880393c7c61caa6a168b128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac0369e8025ae1320e7d607922f61b48"><td class="memItemLeft" align="right" valign="top"><a id="aac0369e8025ae1320e7d607922f61b48"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aac0369e8025ae1320e7d607922f61b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplParams" colspan="2"><a id="a785c739c96c277a7a75135ee3b77548a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a785c739c96c277a7a75135ee3b77548a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a785c739c96c277a7a75135ee3b77548a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplParams" colspan="2"><a id="ab955e35f67130e85f13048f984b3b5ac"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab955e35f67130e85f13048f984b3b5ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab955e35f67130e85f13048f984b3b5ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplParams" colspan="2"><a id="a1c3fa301d864c8863c4b464a10aec4e0"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_read_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1c3fa301d864c8863c4b464a10aec4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7848ef15e774eacec7e4446a8c365a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a7848ef15e774eacec7e4446a8c365a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">More...</a><br /></td></tr>
+<tr class="separator:a7848ef15e774eacec7e4446a8c365a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memItemLeft" align="right" valign="top"><a id="a31ccfbd651d91a4f00e5192e0614cf6c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a31ccfbd651d91a4f00e5192e0614cf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a id="ab500784aa806dc7c2d90028d2f72de57"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>write</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplParams" colspan="2"><a id="aee4c492a592eb15a5bf48e2d3deeec3a"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:aee4c492a592eb15a5bf48e2d3deeec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplParams" colspan="2"><a id="ac93b34407da6944f70000b1dd656c8e7"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ac93b34407da6944f70000b1dd656c8e7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ac93b34407da6944f70000b1dd656c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplParams" colspan="2"><a id="ae8f08b7afac7020b8901eb9d353a817e"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae8f08b7afac7020b8901eb9d353a817e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_write_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae8f08b7afac7020b8901eb9d353a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a6a1044eeb6ab16939e4669bbeb071b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. <a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">More...</a><br /></td></tr>
+<tr class="separator:a6a1044eeb6ab16939e4669bbeb071b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memItemLeft" align="right" valign="top"><a id="aa38e8a96767e65a11b7b12b08a4b44ca"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa38e8a96767e65a11b7b12b08a4b44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplParams" colspan="2"><a id="a89cb37107cf0ec70dc99ae1f944c1b1b"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a89cb37107cf0ec70dc99ae1f944c1b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplParams" colspan="2"><a id="ad021935ffbf5f753f123ac5af723184f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ad021935ffbf5f753f123ac5af723184f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ad021935ffbf5f753f123ac5af723184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplParams" colspan="2"><a id="a2427c3fc217848e107af94fb0f1590ba"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2427c3fc217848e107af94fb0f1590ba"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_barrier_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2427c3fc217848e107af94fb0f1590ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30eca672189ffc408a4e01b064e8b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">co_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a30eca672189ffc408a4e01b064e8b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">More...</a><br /></td></tr>
+<tr class="separator:a30eca672189ffc408a4e01b064e8b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memItemLeft" align="right" valign="top"><a id="a883a0fd7de8f10fd8b67a8aee415d735"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_read</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:a883a0fd7de8f10fd8b67a8aee415d735"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a608634d1664d2a43fbdc2e18cae464ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">co_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a608634d1664d2a43fbdc2e18cae464ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">More...</a><br /></td></tr>
+<tr class="separator:a608634d1664d2a43fbdc2e18cae464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1847e17496a22bc107f509c3cdfecdd"><td class="memItemLeft" align="right" valign="top"><a id="aa1847e17496a22bc107f509c3cdfecdd"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>co_write</b> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="separator:aa1847e17496a22bc107f509c3cdfecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a359f780e7468407b38978cc5eb7b2555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">co_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a359f780e7468407b38978cc5eb7b2555"><td class="mdescLeft">&#160;</td><td class="mdescRight">A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! <a href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">More...</a><br /></td></tr>
+<tr class="separator:a359f780e7468407b38978cc5eb7b2555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
+<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
+<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
+<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
+<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
+<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
+<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
+<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
+<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
+<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
+<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
+<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
+<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
+<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
+<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
+<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
+<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
+<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
+<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
+<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
+<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
+<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
+<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
+<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
+<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
+<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
+<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
+<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
+<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
+<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
+<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
+<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
+<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
+<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
+<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
+<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
+<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="memItemLeft" align="right" valign="top"><a id="ac24ed4cdb96690d7da95cd17b0f3d090"></a>
+dev_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a> () const noexcept</td></tr>
+<tr class="memdesc:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unless <code>flag::disable_safety_unlinks</code> is set, the device id of the file when opened. <br /></td></tr>
+<tr class="separator:ac24ed4cdb96690d7da95cd17b0f3d090"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="memItemLeft" align="right" valign="top"><a id="aad6465d30ee438b860ccc59c0e0fc4dc"></a>
+ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a> () const noexcept</td></tr>
+<tr class="memdesc:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unless <code>flag::disable_safety_unlinks</code> is set, the inode of the file when opened. When combined with st_dev(), forms a unique identifer on this system. <br /></td></tr>
+<tr class="separator:aad6465d30ee438b860ccc59c0e0fc4dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9793fe40564fda2437783488bd51b9f1"><td class="memItemLeft" align="right" valign="top"><a id="a9793fe40564fda2437783488bd51b9f1"></a>
+<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a> () const noexcept</td></tr>
+<tr class="memdesc:a9793fe40564fda2437783488bd51b9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique identifier for this handle across the entire system. Can be used in hash tables etc. <br /></td></tr>
+<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:a8700edc9ecd4dd35d5aad7c65dd0eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dd7923bb65456af4da41ebe7cb84982"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:a1dd7923bb65456af4da41ebe7cb84982"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ab2a30c788731707f70ff08c107ca1c97"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">pipe</a> (<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()) noexcept</td></tr>
+<tr class="separator:ab2a30c788731707f70ff08c107ca1c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6654057ec3ebf6eb2c7ea03f38882c15"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15">pipe_create</a> (<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()) noexcept</td></tr>
+<tr class="separator:a6654057ec3ebf6eb2c7ea03f38882c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4f0b65aeb1df79398607012b6b3d5b2"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2">pipe_open</a> (<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()) noexcept</td></tr>
+<tr class="separator:ad4f0b65aeb1df79398607012b6b3d5b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af30e3385fb8e985df8c743b6c5e272d3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3">random_pipe</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()) noexcept</td></tr>
+<tr class="separator:af30e3385fb8e985df8c743b6c5e272d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0acb0f067bf654ee8d69aa47df96ff5b"><td class="memItemLeft" align="right" valign="top">static result&lt; std::pair&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b">anonymous_pipe</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:a0acb0f067bf654ee8d69aa47df96ff5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memItemLeft" align="right" valign="top"><a id="ae5ec845b3e2c2e31c2dc3de1d276a7e3"></a>
+virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a> () const noexcept</td></tr>
+<tr class="memdesc:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>max_buffers()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ae5ec845b3e2c2e31c2dc3de1d276a7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad17b8879c355d86174187f198b70baaa"><td class="memItemLeft" align="right" valign="top"><a id="ad17b8879c355d86174187f198b70baaa"></a>
+virtual result&lt; registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="memdesc:ad17b8879c355d86174187f198b70baaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>allocate_registered_buffer()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:ad17b8879c355d86174187f198b70baaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4379e3f84b913f606bb2ec6a194d4380"><td class="memItemLeft" align="right" valign="top"><a id="a4379e3f84b913f606bb2ec6a194d4380"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a4379e3f84b913f606bb2ec6a194d4380"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a4379e3f84b913f606bb2ec6a194d4380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc47501ff4d4278e497758643ddb332a"><td class="memItemLeft" align="right" valign="top"><a id="adc47501ff4d4278e497758643ddb332a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a">_do_read</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:adc47501ff4d4278e497758643ddb332a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>read()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:adc47501ff4d4278e497758643ddb332a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memItemLeft" align="right" valign="top"><a id="a2102f73a4872e8fd8bbe1c71ef82c97f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a2102f73a4872e8fd8bbe1c71ef82c97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memItemLeft" align="right" valign="top"><a id="aa0611d9a49a6d5fd5ffd713ecaf4da1f"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f">_do_write</a> (registered_buffer_type base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>write()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:aa0611d9a49a6d5fd5ffd713ecaf4da1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memItemLeft" align="right" valign="top"><a id="a0f1d67fa1ad7f0d0b1256b6138929d60"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="memdesc:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The virtualised implementation of <code>barrier()</code> used if no multiplexer has been set. <br /></td></tr>
+<tr class="separator:a0f1d67fa1ad7f0d0b1256b6138929d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684c961072904a3a7c83198aa595bb0d"><td class="memItemLeft" align="right" valign="top"><a id="a684c961072904a3a7c83198aa595bb0d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_read</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a684c961072904a3a7c83198aa595bb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea936231e3b8113562b9923bb660d64a"><td class="memItemLeft" align="right" valign="top"><a id="aea936231e3b8113562b9923bb660d64a"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_write</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:aea936231e3b8113562b9923bb660d64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memItemLeft" align="right" valign="top"><a id="a6ad2a78d5e63c1f12f34e496e2cc999e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_do_multiplexer_barrier</b> (registered_buffer_type &amp;&amp;base, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d) noexcept</td></tr>
+<tr class="separator:a6ad2a78d5e63c1f12f34e496e2cc999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc2b24484565bcb0cf654adf2f732f7e"><td class="memItemLeft" align="right" valign="top"><a id="adc2b24484565bcb0cf654adf2f732f7e"></a>
+result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a> () const noexcept</td></tr>
+<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
+<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:aa0f48150ffdbd275ac910ecb70be282c"><td class="memItemLeft" align="right" valign="top"><a id="aa0f48150ffdbd275ac910ecb70be282c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_ctx</b> {nullptr}</td></tr>
+<tr class="separator:aa0f48150ffdbd275ac910ecb70be282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
+<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
+dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
+<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memItemLeft" align="right" valign="top"><a id="a8454764db3cd47e65ec7853b9cb0b3fa"></a>
+ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td></tr>
+<tr class="separator:a8454764db3cd47e65ec7853b9cb0b3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A handle to a named or anonymous pipe. </p>
+<p>The only fully portable use of this class is to <em>create</em> a named pipe with read-only privileges (<code>pipe_create()</code>), and then to <em>open</em> an existing named pipe with append-only privileges (<code>pipe_open()</code>). This ordering is important - it works irrespective of whether the pipe is multiplexable or not.</p>
+<p>This class doesn't prevent you opening fully duplex pipes (i.e. <code>mode::write</code>) if your system supports them, but semantics in this situation are implementation defined. Linux and Windows support fully duplex pipes, and the Windows implementation matches the Linux bespoke semantics.</p>
+<p>For the static functions which create a pipe, <code>flag::unlink_on_first_close</code> is the default. This is due to portability reasons - on some platforms (e.g. Windows), named pipes always get deleted when the last handle to them is closed in the system, so the closest matching semantic on POSIX is for the creating handle to unlink its creation on first close on all platforms. If you don't want this, change the flags given during creation. Note that on Windows, <code>flag::unlink_on_first_close</code> is always masked out, this is because Windows appears to not permit renaming nor unlinking of open pipes.</p>
+<p>If <code>flag::multiplexable</code> is specified which causes the handle to be created as <code>native_handle_type::disposition::nonblocking</code>, opening pipes for reads no longer blocks in the constructor. However it will then block in <code>read()</code>, unless its deadline is zero. Opening pipes for write in nonblocking mode will now fail if there is no reader present on the other side of the pipe.</p>
+<dl class="section warning"><dt>Warning</dt><dd>On POSIX neither <code>creation::only_if_not_exist</code> nor <code>creation::always_new</code> is atomic due to lack of kernel API support.</dd></dl>
+<h1><a class="anchor" id="autotoc_md16"></a>
+Windows only</h1>
+<p>On Microsoft Windows, all pipes (including anonymous) are created within the <code>\Device\NamedPipe\</code> region within the NT kernel namespace, which is the ONLY place where pipes can exist on Windows (i.e. you cannot place them in the filing system like on POSIX).</p>
+<p>Because pipes can only exist in a single, global namespace shared amongst all applications, and this is the same whether for Win32 or the NT kernel, <code>pipe_handle</code> does not bother implementing the <code>\!!\</code> extension which forces use of the NT kernel API. All named pipes always operate out of the NT kernel namespace. <code>.parent_path_handle()</code> always returns <code>path_discovery::temporary_named_pipes_directory()</code> on Windows.</p>
+<p>So long as you use <code>path_discovery::temporary_named_pipes_directory()</code> as your base directory, you can write quite portable code between POSIX and Windows. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a97ac1b43da39d9935919ac848ee3e8d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97ac1b43da39d9935919ac848ee3e8d3">&#9670;&nbsp;</a></span>allocate_registered_buffer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;registered_buffer_type&gt; llfio_v2_xxx::io_handle::allocate_registered_buffer </td>
+ <td>(</td>
+ <td class="paramtype">size_t &amp;&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Request the allocation of a new registered i/o buffer with the system suitable for maximum performance i/o, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section return"><dt>Returns</dt><dd>A shared pointer to the i/o buffer. Note that the pointer returned is not the resource under management, using shared ptr's aliasing feature. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">bytes</td><td>The size of the i/o buffer requested. This may be rounded (considerably) upwards, you should always use the value returned.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Some i/o multiplexer implementations have the ability to allocate i/o buffers in special memory shared between the i/o hardware and user space processes. Using registered i/o buffers can entirely eliminate all kernel transitions and memory copying during i/o, and can saturate very high end hardware from a single kernel thread.</p>
+<p>If no multiplexer is set, the default implementation uses <code>map_handle</code> to allocate raw memory pages from the OS kernel. If the requested buffer size is a multiple of one of the larger page sizes from <code>utils::page_sizes()</code>, an attempt to satisfy the request using the larger page size will be attempted first. </p>
+<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
+<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">_do_allocate_registered_buffer</a>(bytes);</div>
+<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">do_io_handle_allocate_registered_buffer</a>(<span class="keyword">this</span>, bytes);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a0acb0f067bf654ee8d69aa47df96ff5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0acb0f067bf654ee8d69aa47df96ff5b">&#9670;&nbsp;</a></span>anonymous_pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;std::pair&lt;<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&gt; &gt; llfio_v2_xxx::pipe_handle::anonymous_pipe </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p><em>Securely</em> create two ends of an anonymous pipe handle. The first handle returned is the read end; the second is the write end.</p>
+<p>Unlike Windows' <code>CreatePipe()</code>, this function can create non-blocking anonymous pipes. These are truly anonymous, not just randomly named.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX pipe() or NtCreateNamedPipeFile() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a6a1044eeb6ab16939e4669bbeb071b32"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a1044eeb6ab16939e4669bbeb071b32">&#9670;&nbsp;</a></span>barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
+<dd>
+Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
+<dd>
+For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
+<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">_do_barrier</a>(reqs, kind, d) : _do_multiplexer_barrier({}, std::move(reqs), kind, d);</div>
+<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a359f780e7468407b38978cc5eb7b2555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a359f780e7468407b38978cc5eb7b2555">&#9670;&nbsp;</a></span>co_barrier()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_barrier </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt;const_buffers_type&gt;()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.barrier()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.barrier()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">barrier</a>(std::move(reqs), kind, d));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs), kind));</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a30eca672189ffc408a4e01b064e8b78e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30eca672189ffc408a4e01b064e8b78e">&#9670;&nbsp;</a></span>co_read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.read()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.read()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
+<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">read</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
+<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; awaitable&lt;io_result&lt;buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a608634d1664d2a43fbdc2e18cae464ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a608634d1664d2a43fbdc2e18cae464ee">&#9670;&nbsp;</a></span>co_write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a>&lt;<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; &gt; llfio_v2_xxx::io_handle::co_write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>A coroutinised equivalent to <code>.write()</code> which suspends the coroutine until the i/o finishes. <b>Blocks execution</b> i.e is equivalent to <code>.write()</code> if no i/o multiplexer has been set on this handle! </p>
+<p>The awaitable returned is <b>eager</b> i.e. it immediately begins the i/o. If the i/o completes and finishes immediately, no coroutine suspension occurs. </p>
+<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
+<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
+<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> awaitable&lt;io_result&lt;const_buffers_type&gt;&gt;(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">write</a>(std::move(reqs), d));</div>
+<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; awaitable&lt;io_result&lt;const_buffers_type&gt;&gt; ret;</div>
+<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; ret.set_state(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">construct</a>(ret._state_storage, <span class="keyword">this</span>, <span class="keyword">nullptr</span>, {}, d, std::move(reqs)));</div>
+<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00a85eec5a41f7edb2c574d40cf04535">&#9670;&nbsp;</a></span>current_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::handle::current_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+</div>
+</div>
+<a id="aa3465a87f2c732cd6465cd3a832a26f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3465a87f2c732cd6465cd3a832a26f0">&#9670;&nbsp;</a></span>max_buffers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t llfio_v2_xxx::io_handle::max_buffers </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The <em>maximum</em> number of buffers which a single read or write syscall can (atomically) process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. Preferentially uses any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted at the time of invoking the syscall.</p>
+<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather i/o under certain handle configurations. Most of the time for non-socket handles this function will return <code>1</code>.</p>
+<p>For handles which implement i/o entirely in user space, and thus syscalls are not involved, this function will return <code>0</code>. </p>
+<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(_ctx == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">_do_max_buffers</a>();</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> _ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">do_io_handle_max_buffers</a>(<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a865caad2f7f4bdf12fb74aabfe3c5ff5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a865caad2f7f4bdf12fb74aabfe3c5ff5">&#9670;&nbsp;</a></span>parent_path_handle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::fs_handle::parent_path_handle </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
+
+</div>
+</div>
+<a id="ab2a30c788731707f70ff08c107ca1c97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2a30c788731707f70ff08c107ca1c97">&#9670;&nbsp;</a></span>pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&gt; llfio_v2_xxx::pipe_handle::pipe </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>&#160;</td>
+ <td class="paramname"><em>_creation</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a pipe handle opening access to a named pipe </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">path</td><td>The path relative to base to open. </td></tr>
+ <tr><td class="paramname">_mode</td><td>How to open the pipe. </td></tr>
+ <tr><td class="paramname">_creation</td><td>How to create the pipe. </td></tr>
+ <tr><td class="paramname">_caching</td><td>How to ask the kernel to cache the pipe. </td></tr>
+ <tr><td class="paramname">flags</td><td>Any additional custom behaviours. </td></tr>
+ <tr><td class="paramname">base</td><td>Handle to a base location on the filing system. Defaults to <code>path_discovery::temporary_named_pipes_directory()</code>.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open(), mkfifo(), NtCreateFile() or NtCreateNamedPipeFile() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a6654057ec3ebf6eb2c7ea03f38882c15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6654057ec3ebf6eb2c7ea03f38882c15">&#9670;&nbsp;</a></span>pipe_create()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&gt; llfio_v2_xxx::pipe_handle::pipe_create </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Convenience overload for <code>pipe()</code> creating a new named pipe if needed, and with read-only privileges. Unless <code>flag::multiplexable</code> is specified, this will block until the other end connects. </p>
+<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">pipe</a>(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, base); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ad4f0b65aeb1df79398607012b6b3d5b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4f0b65aeb1df79398607012b6b3d5b2">&#9670;&nbsp;</a></span>pipe_open()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&gt; llfio_v2_xxx::pipe_handle::pipe_open </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Convenience overload for <code>pipe()</code> opening an existing named pipe with write-only privileges. This will fail if no reader is waiting on the other end of the pipe. </p>
+<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">pipe</a>(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, base); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af30e3385fb8e985df8c743b6c5e272d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af30e3385fb8e985df8c743b6c5e272d3">&#9670;&nbsp;</a></span>random_pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&gt; llfio_v2_xxx::pipe_handle::random_pipe </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::unlink_on_first_close</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a pipe handle creating a randomly named pipe on a path. The pipe is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing pipe.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open(), mkfifo(), NtCreateFile() or NtCreateNamedPipeFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
+<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
+<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; result&lt;pipe_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">pipe</a>(randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, _caching, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>, dirpath);</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
+<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
+<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ae04ada27942187f03b59044cd1328f49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae04ada27942187f03b59044cd1328f49">&#9670;&nbsp;</a></span>read()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;buffers_type&gt; llfio_v2_xxx::io_handle::read </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, <b>very</b> different buffers may be returned than you supplied. You should <b>always</b> use the buffers returned and assume that they point to different memory and that each buffer's size will have changed.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers read, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">_do_read</a>(reqs, d) : _do_multiplexer_read({}, reqs, d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a8700edc9ecd4dd35d5aad7c65dd0eca2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8700edc9ecd4dd35d5aad7c65dd0eca2">&#9670;&nbsp;</a></span>relink()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::relink </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>atomic_replace</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to relink to. </td></tr>
+ <tr><td class="paramname">atomic_replace</td><td>Atomically replace the destination if a file entry already is present there. Choosing false for this will fail if a file entry is already present at the destination, and may not be an atomic operation on some platforms (i.e. both the old and new names may be linked to the same inode for a very short period of time). Windows and recent Linuxes are always atomic. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>.</p>
+
+</div>
+</div>
+<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::handle::set_append_only </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>enable</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Changes whether this handle is append only or not. </p>
+<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
+
+</div>
+</div>
+<a id="a281467f83f70f2e12aaedf5847fd818c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a281467f83f70f2e12aaedf5847fd818c">&#9670;&nbsp;</a></span>set_multiplexer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; void &gt; llfio_v2_xxx::io_handle::set_multiplexer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td>
+ <td class="paramname"><em>c</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">this_thread::multiplexer</a>()</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sets the i/o multiplexer this handle will use to implement <code>read()</code>, <code>write()</code> and <code>barrier()</code>. </p>
+<p>Note that this call deregisters this handle from any existing i/o multiplexer, and registers it with the new i/o multiplexer. You must therefore not call it if any i/o is currently outstanding on this handle. You should also be aware that multiple dynamic memory allocations and deallocations may occur, as well as multiple syscalls (i.e. this is an expensive call, try to do it from cold code).</p>
+<p>If the handle was not created as multiplexable, this call always fails.</p>
+<dl class="section user"><dt>Memory Allocations\n Multiple dynamic memory allocations and deallocations.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>())</div>
+<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> errc::operation_not_supported;</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
+<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">if</span>(c == _ctx)</div>
+<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
+<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span>(_ctx != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; OUTCOME_TRY(_ctx-&gt;<a class="code" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">do_io_handle_deregister</a>(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; _ctx = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span>(c != <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;state, c-&gt;do_io_handle_register(<span class="keyword">this</span>));</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; _v.behaviour = (_v.behaviour &amp; ~(native_handle_type::disposition::_multiplexer_state_bit0 | native_handle_type::disposition::_multiplexer_state_bit1));</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>((state &amp; 1) != 0)</div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit0;</div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span>((state &amp; 2) != 0)</div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; _v.behaviour |= native_handle_type::disposition::_multiplexer_state_bit1;</div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
+<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; _ctx = c;</div>
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a1dd7923bb65456af4da41ebe7cb84982"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1dd7923bb65456af4da41ebe7cb84982">&#9670;&nbsp;</a></span>unlink()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::unlink </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows before Windows 10 1709 unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>.</p>
+
+</div>
+</div>
+<a id="a7848ef15e774eacec7e4446a8c365a3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7848ef15e774eacec7e4446a8c365a3d">&#9670;&nbsp;</a></span>write()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt;const_buffers_type&gt; llfio_v2_xxx::io_handle::write </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overridable per-class implementation. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer returned is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{ <span class="keywordflow">return</span> (_ctx == <span class="keyword">nullptr</span>) ? <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">_do_write</a>(reqs, d) : _do_multiplexer_write({}, std::move(reqs), d); }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="pipe__handle_8hpp.html">pipe_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a7848ef15e774eacec7e4446a8c365a3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle, preferentially using any i/o multiplexer set over the virtually overri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:325</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a6a1044eeb6ab16939e4669bbeb071b32"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle::barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; barrier(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept</div><div class="ttdoc">Issue a write reordering barrier such that writes preceding the barrier will reach storage before wri...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:376</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ad17b8879c355d86174187f198b70baaa"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle::_do_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; _do_allocate_registered_buffer(size_t &amp;bytes) noexcept</div><div class="ttdoc">The virtualised implementation of allocate_registered_buffer() used if no multiplexer has been set.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:881</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a4379e3f84b913f606bb2ec6a194d4380"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle::_do_read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; _do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of read() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a00bf4ea26d854a7e8c9734f357d417f3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer::construct</a></div><div class="ttdeci">virtual io_operation_state * construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0</div><div class="ttdoc">Constructs either a unsynchronised_io_operation_state or a synchronised_io_operation_state for a read...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1pipe__handle_html_ab2a30c788731707f70ff08c107ca1c97"><div class="ttname"><a href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">llfio_v2_xxx::pipe_handle::pipe</a></div><div class="ttdeci">static result&lt; pipe_handle &gt; pipe(path_view_type path, mode _mode, creation _creation, caching _caching=caching::all, flag flags=flag::none, const path_handle &amp;base=path_discovery::temporary_named_pipes_directory()) noexcept</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a1cc4f56ad15d1bed49d68c56a278ad0c"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer::do_io_handle_max_buffers</a></div><div class="ttdeci">virtual size_t do_io_handle_max_buffers(const io_handle *h) const noexcept</div><div class="ttdoc">Implements io_handle::max_buffers()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:504</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:171</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">llfio_v2_xxx::handle::creation::if_needed</a></div><div class="ttdeci">@ if_needed</div><div class="ttdoc">If filesystem entry exists that is used, else one is created.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a3e79fd19de80e77c274b93d0d01b2f10"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer::do_io_handle_allocate_registered_buffer</a></div><div class="ttdeci">virtual result&lt; registered_buffer_type &gt; do_io_handle_allocate_registered_buffer(io_handle *h, size_t &amp;bytes) noexcept</div><div class="ttdoc">Implements io_handle::allocate_registered_buffer()</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:508</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">llfio_v2_xxx::handle::mode::read</a></div><div class="ttdeci">@ read</div><div class="ttdoc">Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONL...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__multiplexer_html_a7c9d163a9e1ca06acbce1f135cfef087"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer::do_io_handle_deregister</a></div><div class="ttdeci">virtual result&lt; void &gt; do_io_handle_deregister(io_handle *) noexcept</div><div class="ttdoc">Implements io_handle deregistration.</div><div class="ttdef"><b>Definition:</b> io_multiplexer.hpp:476</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae04ada27942187f03b59044cd1328f49"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle::read</a></div><div class="ttdeci">io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the open handle, preferentially using any i/o multiplexer set over the virtually overr...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:283</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_ae5ec845b3e2c2e31c2dc3de1d276a7e3"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle::_do_max_buffers</a></div><div class="ttdeci">virtual size_t _do_max_buffers() const noexcept</div><div class="ttdoc">The virtualised implementation of max_buffers() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdeci">@ append</div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">llfio_v2_xxx::handle::creation::open_existing</a></div><div class="ttdeci">@ open_existing</div><div class="ttdoc">Filesystem entry must already exist.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_ade2416b9154d1e56937c99cd514324f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle::is_multiplexable</a></div><div class="ttdeci">bool is_multiplexable() const noexcept</div><div class="ttdoc">True if multiplexable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:358</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a0f1d67fa1ad7f0d0b1256b6138929d60"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle::_do_barrier</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_barrier(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of barrier() used if no multiplexer has been set.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1io__handle_html_a2102f73a4872e8fd8bbe1c71ef82c97f"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle::_do_write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; _do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept</div><div class="ttdoc">The virtualised implementation of write() used if no multiplexer has been set.</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1pipe__handle.js b/classllfio__v2__xxx_1_1pipe__handle.js
new file mode 100644
index 00000000..6978a4a1
--- /dev/null
+++ b/classllfio__v2__xxx_1_1pipe__handle.js
@@ -0,0 +1,129 @@
+var classllfio__v2__xxx_1_1pipe__handle =
+[
+ [ "awaitable", "classllfio__v2__xxx_1_1pipe__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea", null ],
+ [ "barrier_kind", "classllfio__v2__xxx_1_1pipe__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf", null ],
+ [ "buffer_type", "classllfio__v2__xxx_1_1pipe__handle.html#a65b5db5497f23147b46684d375cf2af3", null ],
+ [ "buffers_type", "classllfio__v2__xxx_1_1pipe__handle.html#aaf0ed095bd68c7605af258e1e4e4d56d", null ],
+ [ "caching", "classllfio__v2__xxx_1_1pipe__handle.html#aaad4d496ae011dced498bc46162917c2", null ],
+ [ "const_buffer_type", "classllfio__v2__xxx_1_1pipe__handle.html#a69a64dbc83bff0cd3cdbdbbbf5790331", null ],
+ [ "const_buffers_type", "classllfio__v2__xxx_1_1pipe__handle.html#ad9538abba49629b0981480f654ffe63d", null ],
+ [ "creation", "classllfio__v2__xxx_1_1pipe__handle.html#ad622556b831bdc12bfd32552fd325529", null ],
+ [ "dev_t", "classllfio__v2__xxx_1_1pipe__handle.html#ae1045e33170d615420a0f743bd8e5ec2", null ],
+ [ "extent_type", "classllfio__v2__xxx_1_1pipe__handle.html#a86e3e779f751e9732f237c2d60e8edb3", null ],
+ [ "flag", "classllfio__v2__xxx_1_1pipe__handle.html#a3efccd17a106ade83e13cce154627c6f", null ],
+ [ "ino_t", "classllfio__v2__xxx_1_1pipe__handle.html#a391dfad3885f1586224c44c6824e30eb", null ],
+ [ "io_request", "classllfio__v2__xxx_1_1pipe__handle.html#a7891cea73fd80138fbfc9170c4777c16", null ],
+ [ "io_result", "classllfio__v2__xxx_1_1pipe__handle.html#a32c60dec78576807a163d370e7a47409", null ],
+ [ "mode", "classllfio__v2__xxx_1_1pipe__handle.html#a78225352309cfe47ba4b88e218231cb6", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1pipe__handle.html#addf6cc73369f6d4f1e7b529e083552ab", null ],
+ [ "path_view_type", "classllfio__v2__xxx_1_1pipe__handle.html#ac121cc7fa9d30c0c4ffecd0d8469c37d", null ],
+ [ "registered_buffer_type", "classllfio__v2__xxx_1_1pipe__handle.html#a9f6466750a7411512da502cd60d3c461", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1pipe__handle.html#a0116ff078dc60da810a8170f4b7f6720", null ],
+ [ "unique_id_type", "classllfio__v2__xxx_1_1pipe__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1pipe__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a", null ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347", null ],
+ [ "~pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a8b0f191e25d4cf1315eeac2e428a4ee3", null ],
+ [ "_do_allocate_registered_buffer", "classllfio__v2__xxx_1_1pipe__handle.html#ad17b8879c355d86174187f198b70baaa", null ],
+ [ "_do_barrier", "classllfio__v2__xxx_1_1pipe__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60", null ],
+ [ "_do_max_buffers", "classllfio__v2__xxx_1_1pipe__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3", null ],
+ [ "_do_multiplexer_barrier", "classllfio__v2__xxx_1_1pipe__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e", null ],
+ [ "_do_multiplexer_read", "classllfio__v2__xxx_1_1pipe__handle.html#a684c961072904a3a7c83198aa595bb0d", null ],
+ [ "_do_multiplexer_write", "classllfio__v2__xxx_1_1pipe__handle.html#aea936231e3b8113562b9923bb660d64a", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1pipe__handle.html#a4379e3f84b913f606bb2ec6a194d4380", null ],
+ [ "_do_read", "classllfio__v2__xxx_1_1pipe__handle.html#adc47501ff4d4278e497758643ddb332a", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1pipe__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f", null ],
+ [ "_do_write", "classllfio__v2__xxx_1_1pipe__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f", null ],
+ [ "_fetch_inode", "classllfio__v2__xxx_1_1pipe__handle.html#adc2b24484565bcb0cf654adf2f732f7e", null ],
+ [ "allocate_registered_buffer", "classllfio__v2__xxx_1_1pipe__handle.html#a97ac1b43da39d9935919ac848ee3e8d3", null ],
+ [ "are_reads_from_cache", "classllfio__v2__xxx_1_1pipe__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
+ [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1pipe__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
+ [ "are_writes_durable", "classllfio__v2__xxx_1_1pipe__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1pipe__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1pipe__handle.html#a6a1044eeb6ab16939e4669bbeb071b32", null ],
+ [ "clone", "classllfio__v2__xxx_1_1pipe__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
+ [ "close", "classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e", null ],
+ [ "co_barrier", "classllfio__v2__xxx_1_1pipe__handle.html#a359f780e7468407b38978cc5eb7b2555", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1pipe__handle.html#a30eca672189ffc408a4e01b064e8b78e", null ],
+ [ "co_read", "classllfio__v2__xxx_1_1pipe__handle.html#a883a0fd7de8f10fd8b67a8aee415d735", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1pipe__handle.html#a608634d1664d2a43fbdc2e18cae464ee", null ],
+ [ "co_write", "classllfio__v2__xxx_1_1pipe__handle.html#aa1847e17496a22bc107f509c3cdfecdd", null ],
+ [ "current_path", "classllfio__v2__xxx_1_1pipe__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
+ [ "flags", "classllfio__v2__xxx_1_1pipe__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1pipe__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
+ [ "is_append_only", "classllfio__v2__xxx_1_1pipe__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
+ [ "is_directory", "classllfio__v2__xxx_1_1pipe__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1pipe__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
+ [ "is_multiplexer", "classllfio__v2__xxx_1_1pipe__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1pipe__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1pipe__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
+ [ "is_process", "classllfio__v2__xxx_1_1pipe__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
+ [ "is_readable", "classllfio__v2__xxx_1_1pipe__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
+ [ "is_regular", "classllfio__v2__xxx_1_1pipe__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
+ [ "is_section", "classllfio__v2__xxx_1_1pipe__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
+ [ "is_seekable", "classllfio__v2__xxx_1_1pipe__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1pipe__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
+ [ "is_symlink", "classllfio__v2__xxx_1_1pipe__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
+ [ "is_valid", "classllfio__v2__xxx_1_1pipe__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
+ [ "is_writable", "classllfio__v2__xxx_1_1pipe__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
+ [ "kernel_caching", "classllfio__v2__xxx_1_1pipe__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "link", "classllfio__v2__xxx_1_1pipe__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
+ [ "max_buffers", "classllfio__v2__xxx_1_1pipe__handle.html#aa3465a87f2c732cd6465cd3a832a26f0", null ],
+ [ "multiplexer", "classllfio__v2__xxx_1_1pipe__handle.html#ac44b02d62334e55b99a5668d67ad484e", null ],
+ [ "native_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94", null ],
+ [ "parent_path_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1pipe__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1pipe__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
+ [ "read", "classllfio__v2__xxx_1_1pipe__handle.html#aac0369e8025ae1320e7d607922f61b48", null ],
+ [ "read", "classllfio__v2__xxx_1_1pipe__handle.html#ae04ada27942187f03b59044cd1328f49", null ],
+ [ "read", "classllfio__v2__xxx_1_1pipe__handle.html#a411cebe2880393c7c61caa6a168b128b", null ],
+ [ "release", "classllfio__v2__xxx_1_1pipe__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
+ [ "relink", "classllfio__v2__xxx_1_1pipe__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
+ [ "requires_aligned_io", "classllfio__v2__xxx_1_1pipe__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
+ [ "set_append_only", "classllfio__v2__xxx_1_1pipe__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
+ [ "set_multiplexer", "classllfio__v2__xxx_1_1pipe__handle.html#a281467f83f70f2e12aaedf5847fd818c", null ],
+ [ "st_dev", "classllfio__v2__xxx_1_1pipe__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
+ [ "st_ino", "classllfio__v2__xxx_1_1pipe__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
+ [ "swap", "classllfio__v2__xxx_1_1pipe__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0", null ],
+ [ "try_barrier", "classllfio__v2__xxx_1_1pipe__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b", null ],
+ [ "try_barrier_for", "classllfio__v2__xxx_1_1pipe__handle.html#ad021935ffbf5f753f123ac5af723184f", null ],
+ [ "try_barrier_until", "classllfio__v2__xxx_1_1pipe__handle.html#a2427c3fc217848e107af94fb0f1590ba", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1pipe__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1pipe__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1pipe__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1pipe__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1pipe__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1pipe__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_read", "classllfio__v2__xxx_1_1pipe__handle.html#a785c739c96c277a7a75135ee3b77548a", null ],
+ [ "try_read_for", "classllfio__v2__xxx_1_1pipe__handle.html#ab955e35f67130e85f13048f984b3b5ac", null ],
+ [ "try_read_until", "classllfio__v2__xxx_1_1pipe__handle.html#a1c3fa301d864c8863c4b464a10aec4e0", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1pipe__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1pipe__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1pipe__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1pipe__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1pipe__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1pipe__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
+ [ "try_write", "classllfio__v2__xxx_1_1pipe__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a", null ],
+ [ "try_write_for", "classllfio__v2__xxx_1_1pipe__handle.html#ac93b34407da6944f70000b1dd656c8e7", null ],
+ [ "try_write_until", "classllfio__v2__xxx_1_1pipe__handle.html#ae8f08b7afac7020b8901eb9d353a817e", null ],
+ [ "unique_id", "classllfio__v2__xxx_1_1pipe__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
+ [ "unlink", "classllfio__v2__xxx_1_1pipe__handle.html#a1dd7923bb65456af4da41ebe7cb84982", null ],
+ [ "write", "classllfio__v2__xxx_1_1pipe__handle.html#ab500784aa806dc7c2d90028d2f72de57", null ],
+ [ "write", "classllfio__v2__xxx_1_1pipe__handle.html#a7848ef15e774eacec7e4446a8c365a3d", null ],
+ [ "write", "classllfio__v2__xxx_1_1pipe__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c", null ],
+ [ "_ctx", "classllfio__v2__xxx_1_1pipe__handle.html#aa0f48150ffdbd275ac910ecb70be282c", null ],
+ [ "_devid", "classllfio__v2__xxx_1_1pipe__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
+ [ "_flags", "classllfio__v2__xxx_1_1pipe__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
+ [ "_inode", "classllfio__v2__xxx_1_1pipe__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
+ [ "_v", "classllfio__v2__xxx_1_1pipe__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1pipe__handle.png b/classllfio__v2__xxx_1_1pipe__handle.png
new file mode 100644
index 00000000..a3cd4a08
--- /dev/null
+++ b/classllfio__v2__xxx_1_1pipe__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1process__handle-members.html b/classllfio__v2__xxx_1_1process__handle-members.html
new file mode 100644
index 00000000..74ca1e2a
--- /dev/null
+++ b/classllfio__v2__xxx_1_1process__handle-members.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1process__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::process_handle Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_error_pipe</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_in_pipe</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_out_pipe</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976">close_pipes</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">current</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">current_path</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">environment</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa">error_pipe</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd">error_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7">in_pipe</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137">in_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9">is_running</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f">launch_process</a>(path_view path, span&lt; path_view_component &gt; args, span&lt; path_view_component &gt; env= *current().environment(), flag flags=flag::wait_on_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ad9e7e0f8b50ba19ec635ff76b8b4ceb8">launch_process</a>(path_view path, span&lt; path_view_component &gt; args, flag flags=flag::wait_on_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583">operator=</a>(const process_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6">operator=</a>(process_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366">out_pipe</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb">out_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec">process_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55">process_handle</a>(native_handle_type h, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67">process_handle</a>(handle &amp;&amp;o, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c">process_handle</a>(const process_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e">process_handle</a>(process_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">set_append_only</a>(bool) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888">swap</a>(process_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_wait</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_wait_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_wait_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2">wait</a>(deadline d={}) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~process_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1process__handle.html b/classllfio__v2__xxx_1_1process__handle.html
new file mode 100644
index 00000000..b4a40569
--- /dev/null
+++ b/classllfio__v2__xxx_1_1process__handle.html
@@ -0,0 +1,919 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::process_handle Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1process__handle.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="classllfio__v2__xxx_1_1process__handle-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::process_handle Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A handle to this, or another, process.
+ <a href="classllfio__v2__xxx_1_1process__handle.html#details">More...</a></p>
+
+<p><code>#include &quot;process_handle.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::process_handle:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1process__handle.png" usemap="#llfio_5Fv2_5Fxxx::process_5Fhandle_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::process_5Fhandle_map" name="llfio_5Fv2_5Fxxx::process_5Fhandle_map">
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,174,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">_byte_array_deleter</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa7e16281bce4c3bb7cf1bf337dd5b7ac"><td class="memItemLeft" align="right" valign="top"><a id="aa7e16281bce4c3bb7cf1bf337dd5b7ac"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
+<tr class="separator:aa7e16281bce4c3bb7cf1bf337dd5b7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32d7120046bf8d178ca7faba27b69b46"><td class="memItemLeft" align="right" valign="top"><a id="a32d7120046bf8d178ca7faba27b69b46"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a></td></tr>
+<tr class="separator:a32d7120046bf8d178ca7faba27b69b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a374e0db9af84a5dc1243123a9cb1b01c"><td class="memItemLeft" align="right" valign="top"><a id="a374e0db9af84a5dc1243123a9cb1b01c"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">handle::size_type</a></td></tr>
+<tr class="separator:a374e0db9af84a5dc1243123a9cb1b01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3930273a2d4cabbac309e0b75701dca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> : unsigned char { <br />
+&#160;&#160;<b>unchanged</b> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8">mode::none</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79">mode::attr_read</a> = 4,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19">mode::attr_write</a> = 5,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a> = 6,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a> = 7,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a> = 9
+<br />
+ }</td></tr>
+<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
+<tr class="separator:aa3930273a2d4cabbac309e0b75701dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> : unsigned char { <br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed">creation::truncate_existing</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
+<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
+&#160;&#160;<b>unchanged</b> = 0,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a> = 1,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">caching::reads</a> = 3,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693">caching::reads_and_metadata</a> = 5,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a> = 6,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1">caching::safety_barriers</a> = 7,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a> = 8
+<br />
+ }</td></tr>
+<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
+<tr class="separator:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa0c1f1cf5c93c0e8eb36482710bef81d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:aa0c1f1cf5c93c0e8eb36482710bef81d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of theprocess handle. <a href="classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d">More...</a><br /></td></tr>
+<tr class="separator:aa0c1f1cf5c93c0e8eb36482710bef81d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae73288bf23a8408d782e45afd157a89f"><td class="memItemLeft" align="right" valign="top"><a id="ae73288bf23a8408d782e45afd157a89f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:ae73288bf23a8408d782e45afd157a89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d6579e76504d6752378fe3429ec53ec"><td class="memItemLeft" align="right" valign="top"><a id="a3d6579e76504d6752378fe3429ec53ec"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec">process_handle</a> ()</td></tr>
+<tr class="memdesc:a3d6579e76504d6752378fe3429ec53ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a3d6579e76504d6752378fe3429ec53ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8c4d7385696df6ffb5c1939bc970f55"><td class="memItemLeft" align="right" valign="top"><a id="aa8c4d7385696df6ffb5c1939bc970f55"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55">process_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="memdesc:aa8c4d7385696df6ffb5c1939bc970f55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
+<tr class="separator:aa8c4d7385696df6ffb5c1939bc970f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa036bc372d57e6be9dd4889f448f8c67"><td class="memItemLeft" align="right" valign="top"><a id="aa036bc372d57e6be9dd4889f448f8c67"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67">process_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;&amp;o, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="memdesc:aa036bc372d57e6be9dd4889f448f8c67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicit conversion from handle permitted. <br /></td></tr>
+<tr class="separator:aa036bc372d57e6be9dd4889f448f8c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcf7e850514add6f1d82c5c40387cf8c"><td class="memItemLeft" align="right" valign="top"><a id="adcf7e850514add6f1d82c5c40387cf8c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c">process_handle</a> (const <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;)=delete</td></tr>
+<tr class="memdesc:adcf7e850514add6f1d82c5c40387cf8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy construction (use clone()) <br /></td></tr>
+<tr class="separator:adcf7e850514add6f1d82c5c40387cf8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac22d50fdb727fae3a6db0c40bd6c6583"><td class="memItemLeft" align="right" valign="top"><a id="ac22d50fdb727fae3a6db0c40bd6c6583"></a>
+<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583">operator=</a> (const <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;o)=delete</td></tr>
+<tr class="memdesc:ac22d50fdb727fae3a6db0c40bd6c6583"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copy assignment. <br /></td></tr>
+<tr class="separator:ac22d50fdb727fae3a6db0c40bd6c6583"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add1f8ef6ffad84d15c098c8e672f2c0e"><td class="memItemLeft" align="right" valign="top"><a id="add1f8ef6ffad84d15c098c8e672f2c0e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e">process_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:add1f8ef6ffad84d15c098c8e672f2c0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the handle. <br /></td></tr>
+<tr class="separator:add1f8ef6ffad84d15c098c8e672f2c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0960eb5b296746df2fd77be42e14fcd6"><td class="memItemLeft" align="right" valign="top"><a id="a0960eb5b296746df2fd77be42e14fcd6"></a>
+<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a0960eb5b296746df2fd77be42e14fcd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment of handle. <br /></td></tr>
+<tr class="separator:a0960eb5b296746df2fd77be42e14fcd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3011c18dbedd50a95a4ee09750a8888"><td class="memItemLeft" align="right" valign="top"><a id="ae3011c18dbedd50a95a4ee09750a8888"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:ae3011c18dbedd50a95a4ee09750a8888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:ae3011c18dbedd50a95a4ee09750a8888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d0b03dfcc6aa09f0fdba5ae6f794dd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7">in_pipe</a> () noexcept</td></tr>
+<tr class="separator:a1d0b03dfcc6aa09f0fdba5ae6f794dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9625e344aa94845353aaa144e13cf137"><td class="memItemLeft" align="right" valign="top"><a id="a9625e344aa94845353aaa144e13cf137"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137">in_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:a9625e344aa94845353aaa144e13cf137"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a9625e344aa94845353aaa144e13cf137"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79c79ca17f326098425fcae8dfb758aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa">error_pipe</a> () noexcept</td></tr>
+<tr class="separator:a79c79ca17f326098425fcae8dfb758aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2331582128de99fd5aa43958eb8bf5cd"><td class="memItemLeft" align="right" valign="top"><a id="a2331582128de99fd5aa43958eb8bf5cd"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd">error_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:a2331582128de99fd5aa43958eb8bf5cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a2331582128de99fd5aa43958eb8bf5cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a632eac607e16b80ac3f7a24a04f72366"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366">out_pipe</a> () noexcept</td></tr>
+<tr class="separator:a632eac607e16b80ac3f7a24a04f72366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c86be2ef3bee1c3f9fc681b97937ceb"><td class="memItemLeft" align="right" valign="top"><a id="a8c86be2ef3bee1c3f9fc681b97937ceb"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb">out_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:a8c86be2ef3bee1c3f9fc681b97937ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:a8c86be2ef3bee1c3f9fc681b97937ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ddbce2629355ac9ca89eedcf5d75976"><td class="memItemLeft" align="right" valign="top"><a id="a1ddbce2629355ac9ca89eedcf5d75976"></a>
+result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976">close_pipes</a> () noexcept</td></tr>
+<tr class="memdesc:a1ddbce2629355ac9ca89eedcf5d75976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close or release all the pipes, depending on <code>flag::release_pipes_on_close</code> <br /></td></tr>
+<tr class="separator:a1ddbce2629355ac9ca89eedcf5d75976"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62c35c45a6d06a3b9f41620d0e6221a9"><td class="memItemLeft" align="right" valign="top"><a id="a62c35c45a6d06a3b9f41620d0e6221a9"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9">is_running</a> () const noexcept</td></tr>
+<tr class="memdesc:a62c35c45a6d06a3b9f41620d0e6221a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the process is currently running. <br /></td></tr>
+<tr class="separator:a62c35c45a6d06a3b9f41620d0e6221a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ed1f5dda9dcf9d59710acc9c91df943"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">current_path</a> () const noexcept override</td></tr>
+<tr class="separator:a8ed1f5dda9dcf9d59710acc9c91df943"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a609e9dd06fb8f4c15d4cac17ecfa68d9"><td class="memItemLeft" align="right" valign="top"><a id="a609e9dd06fb8f4c15d4cac17ecfa68d9"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9">close</a> () noexcept override</td></tr>
+<tr class="memdesc:a609e9dd06fb8f4c15d4cac17ecfa68d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close this handle, possibly closing the pipes, possibly blocking until a child process exits. <br /></td></tr>
+<tr class="separator:a609e9dd06fb8f4c15d4cac17ecfa68d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c35cffac69f00052d63de262acfc3c9"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9">clone</a> () const noexcept</td></tr>
+<tr class="separator:a1c35cffac69f00052d63de262acfc3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab64c9fc14fc555b5ec8571863458bf83"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">set_append_only</a> (bool) noexcept override</td></tr>
+<tr class="memdesc:ab64c9fc14fc555b5ec8571863458bf83"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">More...</a><br /></td></tr>
+<tr class="separator:ab64c9fc14fc555b5ec8571863458bf83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab158116bbd3d889cc4c06d205f14dca4"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt;, <a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">_byte_array_deleter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">environment</a> () const noexcept</td></tr>
+<tr class="separator:ab158116bbd3d889cc4c06d205f14dca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2af6ecdb9948f3ddb05883d66cecbbb2"><td class="memItemLeft" align="right" valign="top">result&lt; intptr_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2">wait</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}) const noexcept</td></tr>
+<tr class="separator:a2af6ecdb9948f3ddb05883d66cecbbb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af247a46b6be5d4b89036883c4fbf6740"><td class="memTemplParams" colspan="2"><a id="af247a46b6be5d4b89036883c4fbf6740"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:af247a46b6be5d4b89036883c4fbf6740"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_wait</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:af247a46b6be5d4b89036883c4fbf6740"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2940db04eeea67a2ec9d816135dbd536"><td class="memTemplParams" colspan="2"><a id="a2940db04eeea67a2ec9d816135dbd536"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a2940db04eeea67a2ec9d816135dbd536"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_wait_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a2940db04eeea67a2ec9d816135dbd536"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8516637838bb68ecded754dc904430a6"><td class="memTemplParams" colspan="2"><a id="a8516637838bb68ecded754dc904430a6"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a8516637838bb68ecded754dc904430a6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_wait_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a8516637838bb68ecded754dc904430a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
+<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a> () noexcept</td></tr>
+<tr class="memdesc:a1d273e38c061eb11f5012f624e9a202e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
+<tr class="separator:a1d273e38c061eb11f5012f624e9a202e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a> () const noexcept</td></tr>
+<tr class="memdesc:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid (and usually open) <br /></td></tr>
+<tr class="separator:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97e0884c27147b4929be98961b8e9254"><td class="memItemLeft" align="right" valign="top"><a id="a97e0884c27147b4929be98961b8e9254"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a> () const noexcept</td></tr>
+<tr class="memdesc:a97e0884c27147b4929be98961b8e9254"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is readable. <br /></td></tr>
+<tr class="separator:a97e0884c27147b4929be98961b8e9254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a211fee447a47bdeb5424a2a5ae1de852"><td class="memItemLeft" align="right" valign="top"><a id="a211fee447a47bdeb5424a2a5ae1de852"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a> () const noexcept</td></tr>
+<tr class="memdesc:a211fee447a47bdeb5424a2a5ae1de852"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is writable. <br /></td></tr>
+<tr class="separator:a211fee447a47bdeb5424a2a5ae1de852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3aa3dc009822c0e437f317864534feb"><td class="memItemLeft" align="right" valign="top"><a id="ac3aa3dc009822c0e437f317864534feb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a> () const noexcept</td></tr>
+<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
+<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
+<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
+<tr class="separator:a695ce0ed1606d540cfa452790ea71632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a751e912d8dab755ea969a418c1d544eb"><td class="memItemLeft" align="right" valign="top"><a id="a751e912d8dab755ea969a418c1d544eb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a> () const noexcept</td></tr>
+<tr class="memdesc:a751e912d8dab755ea969a418c1d544eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if requires aligned i/o. <br /></td></tr>
+<tr class="separator:a751e912d8dab755ea969a418c1d544eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7751fbb4b1aff527f469412ea33116ed"><td class="memItemLeft" align="right" valign="top"><a id="a7751fbb4b1aff527f469412ea33116ed"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a> () const noexcept</td></tr>
+<tr class="memdesc:a7751fbb4b1aff527f469412ea33116ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a regular file or device. <br /></td></tr>
+<tr class="separator:a7751fbb4b1aff527f469412ea33116ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memItemLeft" align="right" valign="top"><a id="a4ca48bdcd6d6bf8b41d0cebb304fe9ce"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a directory. <br /></td></tr>
+<tr class="separator:a4ca48bdcd6d6bf8b41d0cebb304fe9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0d5de068f71628e9491c5669f89dca0"><td class="memItemLeft" align="right" valign="top"><a id="ae0d5de068f71628e9491c5669f89dca0"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
+<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
+<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
+<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
+<tr class="separator:a018de0f7c177e3cff239016d14582e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade0d0e05b844e77f425669da87bf48bb"><td class="memItemLeft" align="right" valign="top"><a id="ade0d0e05b844e77f425669da87bf48bb"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a> () const noexcept</td></tr>
+<tr class="memdesc:ade0d0e05b844e77f425669da87bf48bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a process. <br /></td></tr>
+<tr class="separator:ade0d0e05b844e77f425669da87bf48bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a354c9168af7759f7151a071c1e1b7b19"><td class="memItemLeft" align="right" valign="top"><a id="a354c9168af7759f7151a071c1e1b7b19"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
+<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
+<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
+<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
+<tr class="separator:a90bf8668df002dac5a7d9397486b2946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memItemLeft" align="right" valign="top"><a id="a7126a726b2a06e4c1eca1a94c41163ff"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a> () const noexcept</td></tr>
+<tr class="memdesc:a7126a726b2a06e4c1eca1a94c41163ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle uses the kernel page cache for reads. <br /></td></tr>
+<tr class="separator:a7126a726b2a06e4c1eca1a94c41163ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8036792f332459064172d7b0cfaee3cf"><td class="memItemLeft" align="right" valign="top"><a id="a8036792f332459064172d7b0cfaee3cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a> () const noexcept</td></tr>
+<tr class="memdesc:a8036792f332459064172d7b0cfaee3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if writes are safely on storage on completion. <br /></td></tr>
+<tr class="separator:a8036792f332459064172d7b0cfaee3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memItemLeft" align="right" valign="top"><a id="a0a2a5896f5e373fa032cdae1c1fff2c1"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a> () const noexcept</td></tr>
+<tr class="memdesc:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if issuing safety fsyncs is on. <br /></td></tr>
+<tr class="separator:a0a2a5896f5e373fa032cdae1c1fff2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a013936bc1254b1a47567fe29698d1b1c"><td class="memItemLeft" align="right" valign="top"><a id="a013936bc1254b1a47567fe29698d1b1c"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a> () const noexcept</td></tr>
+<tr class="memdesc:a013936bc1254b1a47567fe29698d1b1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The flags this handle was opened with. <br /></td></tr>
+<tr class="separator:a013936bc1254b1a47567fe29698d1b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a942b0d276c9f20fe41baab679b88fe72"><td class="memItemLeft" align="right" valign="top"><a id="a942b0d276c9f20fe41baab679b88fe72"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a> () const noexcept</td></tr>
+<tr class="memdesc:a942b0d276c9f20fe41baab679b88fe72"><td class="mdescLeft">&#160;</td><td class="mdescRight">The native handle used by this handle. <br /></td></tr>
+<tr class="separator:a942b0d276c9f20fe41baab679b88fe72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a9304f001b08fa64ae146e5bc44ecdeb9"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">current</a> () noexcept</td></tr>
+<tr class="separator:a9304f001b08fa64ae146e5bc44ecdeb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31aac80e9bf925a62485f618c892a40f"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f">launch_process</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt; args, span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt; env= *<a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">current</a>().<a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">environment</a>(), flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::wait_on_close) noexcept</td></tr>
+<tr class="separator:a31aac80e9bf925a62485f618c892a40f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9e7e0f8b50ba19ec635ff76b8b4ceb8"><td class="memItemLeft" align="right" valign="top"><a id="ad9e7e0f8b50ba19ec635ff76b8b4ceb8"></a>
+static result&lt; <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ad9e7e0f8b50ba19ec635ff76b8b4ceb8">launch_process</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt; args, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::wait_on_close) noexcept</td></tr>
+<tr class="memdesc:ad9e7e0f8b50ba19ec635ff76b8b4ceb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
+<tr class="separator:ad9e7e0f8b50ba19ec635ff76b8b4ceb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a42f3c8e10d4906207309ce7ac96823df"><td class="memItemLeft" align="right" valign="top"><a id="a42f3c8e10d4906207309ce7ac96823df"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:a42f3c8e10d4906207309ce7ac96823df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a874778af80effa5e41c2a1d2c6885960"><td class="memItemLeft" align="right" valign="top"><a id="a874778af80effa5e41c2a1d2c6885960"></a>
+<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_in_pipe</b></td></tr>
+<tr class="separator:a874778af80effa5e41c2a1d2c6885960"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cceb31bebf51f6b2fe78b236aa9bdb3"><td class="memItemLeft" align="right" valign="top"><a id="a9cceb31bebf51f6b2fe78b236aa9bdb3"></a>
+<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_out_pipe</b></td></tr>
+<tr class="separator:a9cceb31bebf51f6b2fe78b236aa9bdb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42079a878b650f345630b33b3c928dee"><td class="memItemLeft" align="right" valign="top"><a id="a42079a878b650f345630b33b3c928dee"></a>
+<a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_error_pipe</b></td></tr>
+<tr class="separator:a42079a878b650f345630b33b3c928dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
+<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A handle to this, or another, process. </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aecd3a7db6cee3aec07d32fe6f99e6852"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aecd3a7db6cee3aec07d32fe6f99e6852">&#9670;&nbsp;</a></span>caching</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">llfio_v2_xxx::handle::caching</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>What i/o on the handle may complete immediately due to kernel caching. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98"></a>only_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata but avoid caching data (<code>O_DIRECT</code>), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1"></a>reads&#160;</td><td class="fielddoc"><p>Cache reads only. Writes of data and metadata do not complete until reaching storage (<code>O_SYNC</code>). <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693"></a>reads_and_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata, but writes of data do not complete until reaching storage (<code>O_DSYNC</code>). <code>disable_safety_barriers</code> can be used here. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51"></a>all&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system). </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1"></a>safety_barriers&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for <code>disable_safety_barriers</code>. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0b352d0f273ba6fa70c178b2c2fee42">&#9670;&nbsp;</a></span>creation</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">llfio_v2_xxx::handle::creation</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>On opening, do we also create a new file or truncate an existing one? </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9"></a>open_existing&#160;</td><td class="fielddoc"><p>Filesystem entry must already exist. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"></a>only_if_not_exist&#160;</td><td class="fielddoc"><p>Filesystem entry must NOT exist, and is atomically created by the success of this operation. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d"></a>if_needed&#160;</td><td class="fielddoc"><p>If filesystem entry exists that is used, else one is created. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed"></a>truncate_existing&#160;</td><td class="fielddoc"><p>Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"></a>always_new&#160;</td><td class="fielddoc"><p>If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aa3930273a2d4cabbac309e0b75701dca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3930273a2d4cabbac309e0b75701dca">&#9670;&nbsp;</a></span>mode</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">llfio_v2_xxx::handle::mode</a> : unsigned char</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The behaviour of the handle: does it read, read and write, or atomic append? </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79"></a>attr_read&#160;</td><td class="fielddoc"><p>Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19"></a>attr_write&#160;</td><td class="fielddoc"><p>Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e"></a>read&#160;</td><td class="fielddoc"><p>Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"></a>write&#160;</td><td class="fielddoc"><p>Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR) </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a1c35cffac69f00052d63de262acfc3c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c35cffac69f00052d63de262acfc3c9">&#9670;&nbsp;</a></span>clone()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a>&gt; llfio_v2_xxx::process_handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a9304f001b08fa64ae146e5bc44ecdeb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9304f001b08fa64ae146e5bc44ecdeb9">&#9670;&nbsp;</a></span>current()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static const <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a>&amp; llfio_v2_xxx::process_handle::current </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Return a process handle referring to the current process. </p>
+
+</div>
+</div>
+<a id="a8ed1f5dda9dcf9d59710acc9c91df943"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8ed1f5dda9dcf9d59710acc9c91df943">&#9670;&nbsp;</a></span>current_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::process_handle::current_path </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns the current path of the binary the process is executing.</p>
+<dl class="section note"><dt>Note</dt><dd>If the <em>current</em> path cannot be retrieved on this platform (i.e. invariant to concurrent filesystem modification), an empty path is returned. This includes the current process. </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">llfio_v2_xxx::handle</a>.</p>
+
+</div>
+</div>
+<a id="ab158116bbd3d889cc4c06d205f14dca4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab158116bbd3d889cc4c06d205f14dca4">&#9670;&nbsp;</a></span>environment()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::unique_ptr&lt;span&lt;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&gt;, <a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">_byte_array_deleter</a>&gt; llfio_v2_xxx::process_handle::environment </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Retrieves the current environment of the process.</p>
+<dl class="section note"><dt>Note</dt><dd>If the <em>current</em> environment cannot be retrieved on this platform, a null pointer is returned. </dd></dl>
+
+</div>
+</div>
+<a id="a79c79ca17f326098425fcae8dfb758aa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79c79ca17f326098425fcae8dfb758aa">&#9670;&nbsp;</a></span>error_pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&amp; llfio_v2_xxx::process_handle::error_pipe </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>A pipe with which one can read what another process writes to <code>stderr</code>, or by which this process can write to <code>stderr</code>. </p>
+<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{ <span class="keywordflow">return</span> _error_pipe; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a1d0b03dfcc6aa09f0fdba5ae6f794dd7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d0b03dfcc6aa09f0fdba5ae6f794dd7">&#9670;&nbsp;</a></span>in_pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&amp; llfio_v2_xxx::process_handle::in_pipe </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>A pipe with which one can read what another process writes to <code>stdout</code>, or by which this process can read from <code>stdin</code>. Therefore always read-only. </p>
+<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{ <span class="keywordflow">return</span> _in_pipe; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a31aac80e9bf925a62485f618c892a40f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31aac80e9bf925a62485f618c892a40f">&#9670;&nbsp;</a></span>launch_process()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a>&gt; llfio_v2_xxx::process_handle::launch_process </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt;&#160;</td>
+ <td class="paramname"><em>args</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt;&#160;</td>
+ <td class="paramname"><em>env</em> = <code>*<a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">current</a>().<a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">environment</a>()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::wait_on_close</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a new process launching the binary at <code>path</code>. </p><dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">path</td><td>The absolute path to the binary to launch. </td></tr>
+ <tr><td class="paramname">args</td><td>An array of arguments to pass to the process. </td></tr>
+ <tr><td class="paramname">env</td><td>An array of environment variables to set for the process, which defaults to the current process' environment. </td></tr>
+ <tr><td class="paramname">flags</td><td>Any additional custom behaviours.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This is the only handle creation function in LLFIO which requires an absolute path. This is because no platform implements race-free process launch, and worse, there is no way of non-intrusively emulating race-free process launch either. So we accept the inevitable, launching child processes is always racy with respect to concurrent filesystem modification.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX posix_spawn() or CreateProcess() can return.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="a632eac607e16b80ac3f7a24a04f72366"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a632eac607e16b80ac3f7a24a04f72366">&#9670;&nbsp;</a></span>out_pipe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a>&amp; llfio_v2_xxx::process_handle::out_pipe </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>A pipe with which one can write what another process reads from <code>stdin</code>, or by which this process can write to <code>stdout</code>. Therefore always write-only. </p>
+<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;{ <span class="keywordflow">return</span> _out_pipe; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aa0c1f1cf5c93c0e8eb36482710bef81d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0c1f1cf5c93c0e8eb36482710bef81d">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::process_handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The behaviour of theprocess handle. </p>
+<p>&lt; No flags</p>
+<p>&lt; Do not redirect the <code>stdin</code> for a launched process</p>
+<p>&lt; Do not redirect the <code>stdout</code> for a launched process</p>
+<p>&lt; Do not redirect the <code>stderr</code> for a launched process</p>
+<p>&lt; Wait for the process to exit in <code>.close()</code></p>
+<p>&lt; Release the pipes in <code>.close()</code>. They are closed otherwise.</p>
+<p>&lt; Do not create any redirected pipes as multiplexable</p>
+<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {none = 0U, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"></span> no_redirect_in_pipe = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Do not redirect the `stdin` for a launched process</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> no_redirect_out_pipe = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Do not redirect the `stdout` for a launched process</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> no_redirect_error_pipe = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Do not redirect the `stderr` for a launched process</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; wait_on_close = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Wait for the process to exit in `.close()`</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> release_pipes_on_close = 1U &lt;&lt; 5U, <span class="comment">//!&lt; Release the pipes in `.close()`. They are closed otherwise.</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> no_multiplexable_pipes = 1U &lt;&lt; 6U, <span class="comment">//!&lt; Do not create any redirected pipes as multiplexable</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; no_redirect = no_redirect_in_pipe | no_redirect_out_pipe | no_redirect_error_pipe} QUICKCPPLIB_BITFIELD_END(flag);</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ab64c9fc14fc555b5ec8571863458bf83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab64c9fc14fc555b5ec8571863458bf83">&#9670;&nbsp;</a></span>set_append_only()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::process_handle::set_append_only </td>
+ <td>(</td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>enable</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXTENSION: Changes whether this handle is append only or not. </p>
+<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">llfio_v2_xxx::handle</a>.</p>
+<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{ <span class="keywordflow">return</span> errc::operation_not_supported; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a2af6ecdb9948f3ddb05883d66cecbbb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2af6ecdb9948f3ddb05883d66cecbbb2">&#9670;&nbsp;</a></span>wait()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;intptr_t&gt; llfio_v2_xxx::process_handle::wait </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>{}</code></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Waits until a process exits, returning its exit code. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="process__handle_8hpp.html">process_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle.</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:596</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:479</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1process__handle.js b/classllfio__v2__xxx_1_1process__handle.js
new file mode 100644
index 00000000..d9255e86
--- /dev/null
+++ b/classllfio__v2__xxx_1_1process__handle.js
@@ -0,0 +1,91 @@
+var classllfio__v2__xxx_1_1process__handle =
+[
+ [ "_byte_array_deleter", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter" ],
+ [ "extent_type", "classllfio__v2__xxx_1_1process__handle.html#a32d7120046bf8d178ca7faba27b69b46", null ],
+ [ "path_type", "classllfio__v2__xxx_1_1process__handle.html#aa7e16281bce4c3bb7cf1bf337dd5b7ac", null ],
+ [ "size_type", "classllfio__v2__xxx_1_1process__handle.html#a374e0db9af84a5dc1243123a9cb1b01c", null ],
+ [ "caching", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852", [
+ [ "unchanged", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773", null ],
+ [ "none", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "only_metadata", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98", null ],
+ [ "reads", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1", null ],
+ [ "reads_and_metadata", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693", null ],
+ [ "all", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51", null ],
+ [ "safety_barriers", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1", null ],
+ [ "temporary", "classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef", null ]
+ ] ],
+ [ "creation", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42", [
+ [ "open_existing", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9", null ],
+ [ "only_if_not_exist", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255", null ],
+ [ "if_needed", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d", null ],
+ [ "truncate_existing", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed", null ],
+ [ "always_new", "classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d", null ]
+ ] ],
+ [ "mode", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dca", [
+ [ "unchanged", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773", null ],
+ [ "none", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "attr_read", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79", null ],
+ [ "attr_write", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19", null ],
+ [ "read", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e", null ],
+ [ "write", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee", null ],
+ [ "append", "classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d", null ]
+ ] ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec", null ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55", null ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67", null ],
+ [ "~process_handle", "classllfio__v2__xxx_1_1process__handle.html#a4522151367326d82183568ad362e03a1", null ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c", null ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e", null ],
+ [ "are_reads_from_cache", "classllfio__v2__xxx_1_1process__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
+ [ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1process__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
+ [ "are_writes_durable", "classllfio__v2__xxx_1_1process__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
+ [ "clone", "classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9", null ],
+ [ "close", "classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9", null ],
+ [ "close_pipes", "classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976", null ],
+ [ "current_path", "classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943", null ],
+ [ "environment", "classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4", null ],
+ [ "error_pipe", "classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd", null ],
+ [ "error_pipe", "classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa", null ],
+ [ "flags", "classllfio__v2__xxx_1_1process__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "in_pipe", "classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137", null ],
+ [ "in_pipe", "classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1process__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
+ [ "is_append_only", "classllfio__v2__xxx_1_1process__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
+ [ "is_directory", "classllfio__v2__xxx_1_1process__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1process__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
+ [ "is_multiplexer", "classllfio__v2__xxx_1_1process__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1process__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1process__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
+ [ "is_process", "classllfio__v2__xxx_1_1process__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
+ [ "is_readable", "classllfio__v2__xxx_1_1process__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
+ [ "is_regular", "classllfio__v2__xxx_1_1process__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
+ [ "is_running", "classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9", null ],
+ [ "is_section", "classllfio__v2__xxx_1_1process__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
+ [ "is_seekable", "classllfio__v2__xxx_1_1process__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1process__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
+ [ "is_symlink", "classllfio__v2__xxx_1_1process__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
+ [ "is_valid", "classllfio__v2__xxx_1_1process__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
+ [ "is_writable", "classllfio__v2__xxx_1_1process__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
+ [ "kernel_caching", "classllfio__v2__xxx_1_1process__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "native_handle", "classllfio__v2__xxx_1_1process__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6", null ],
+ [ "out_pipe", "classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb", null ],
+ [ "out_pipe", "classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1process__handle.html#ae73288bf23a8408d782e45afd157a89f", null ],
+ [ "release", "classllfio__v2__xxx_1_1process__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
+ [ "requires_aligned_io", "classllfio__v2__xxx_1_1process__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
+ [ "set_append_only", "classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83", null ],
+ [ "swap", "classllfio__v2__xxx_1_1process__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888", null ],
+ [ "try_wait", "classllfio__v2__xxx_1_1process__handle.html#af247a46b6be5d4b89036883c4fbf6740", null ],
+ [ "try_wait_for", "classllfio__v2__xxx_1_1process__handle.html#a2940db04eeea67a2ec9d816135dbd536", null ],
+ [ "try_wait_until", "classllfio__v2__xxx_1_1process__handle.html#a8516637838bb68ecded754dc904430a6", null ],
+ [ "wait", "classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2", null ],
+ [ "_error_pipe", "classllfio__v2__xxx_1_1process__handle.html#a42079a878b650f345630b33b3c928dee", null ],
+ [ "_flags", "classllfio__v2__xxx_1_1process__handle.html#a42f3c8e10d4906207309ce7ac96823df", null ],
+ [ "_in_pipe", "classllfio__v2__xxx_1_1process__handle.html#a874778af80effa5e41c2a1d2c6885960", null ],
+ [ "_out_pipe", "classllfio__v2__xxx_1_1process__handle.html#a9cceb31bebf51f6b2fe78b236aa9bdb3", null ],
+ [ "_v", "classllfio__v2__xxx_1_1process__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1process__handle.png b/classllfio__v2__xxx_1_1process__handle.png
new file mode 100644
index 00000000..b19303f8
--- /dev/null
+++ b/classllfio__v2__xxx_1_1process__handle.png
Binary files differ
diff --git a/classllfio__v2__xxx_1_1read__receiver-members.html b/classllfio__v2__xxx_1_1read__receiver-members.html
new file mode 100644
index 00000000..3d8df7d1
--- /dev/null
+++ b/classllfio__v2__xxx_1_1read__receiver-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1read__receiver.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3">error_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c">io_handle_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8">set_done</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976">set_error</a>(error_type errinfo)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d">set_value</a>(value_type result)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406">value_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1read__receiver.html b/classllfio__v2__xxx_1_1read__receiver.html
new file mode 100644
index 00000000..aa87dc8f
--- /dev/null
+++ b/classllfio__v2__xxx_1_1read__receiver.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::read_receiver&lt; IoHandleType &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1read__receiver.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classllfio__v2__xxx_1_1read__receiver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A C++ Receiver of an i/o read for an i/o type of <code>IoHandleType</code>.
+ <a href="classllfio__v2__xxx_1_1read__receiver.html#details">More...</a></p>
+
+<p><code>#include &quot;multiplex.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a29b3ef5c5196cdafe501b14340dcdb2c"><td class="memItemLeft" align="right" valign="top"><a id="a29b3ef5c5196cdafe501b14340dcdb2c"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c">io_handle_type</a> = IoHandleType</td></tr>
+<tr class="memdesc:a29b3ef5c5196cdafe501b14340dcdb2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle type this read receiver is for. <br /></td></tr>
+<tr class="separator:a29b3ef5c5196cdafe501b14340dcdb2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add038bbd7e2c83c01c8cdb459d12e0c1"><td class="memItemLeft" align="right" valign="top"><a id="add038bbd7e2c83c01c8cdb459d12e0c1"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1">buffers_type</a> = typename io_handle_type::buffers_type</td></tr>
+<tr class="memdesc:add038bbd7e2c83c01c8cdb459d12e0c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffers type this receiver receives. <br /></td></tr>
+<tr class="separator:add038bbd7e2c83c01c8cdb459d12e0c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a528d11f57eea813d90fc9f0449fa6406"><td class="memItemLeft" align="right" valign="top"><a id="a528d11f57eea813d90fc9f0449fa6406"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406">value_type</a> = typename io_handle_type::io_result&lt; <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1">buffers_type</a> &gt;</td></tr>
+<tr class="memdesc:a528d11f57eea813d90fc9f0449fa6406"><td class="mdescLeft">&#160;</td><td class="mdescRight">The successful read result type this receiver receives. <br /></td></tr>
+<tr class="separator:a528d11f57eea813d90fc9f0449fa6406"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9f05fed3807e4c246c3cdcb90890ce3"><td class="memItemLeft" align="right" valign="top"><a id="aa9f05fed3807e4c246c3cdcb90890ce3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3">error_type</a> = typename value_type::error_type</td></tr>
+<tr class="memdesc:aa9f05fed3807e4c246c3cdcb90890ce3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The failure result type this receiver receives. <br /></td></tr>
+<tr class="separator:aa9f05fed3807e4c246c3cdcb90890ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a607e71ec6005d142ad42438ddedbe35d"><td class="memItemLeft" align="right" valign="top"><a id="a607e71ec6005d142ad42438ddedbe35d"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d">set_value</a> (<a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406">value_type</a> result)</td></tr>
+<tr class="memdesc:a607e71ec6005d142ad42438ddedbe35d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set the result of an i/o read. <br /></td></tr>
+<tr class="separator:a607e71ec6005d142ad42438ddedbe35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84c3fdd00374db3d360c63982dade976"><td class="memItemLeft" align="right" valign="top"><a id="a84c3fdd00374db3d360c63982dade976"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976">set_error</a> (<a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3">error_type</a> errinfo)</td></tr>
+<tr class="memdesc:a84c3fdd00374db3d360c63982dade976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set the failure of an i/o read. <br /></td></tr>
+<tr class="separator:a84c3fdd00374db3d360c63982dade976"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2a25b72f0fba90bf1e06070364d8ec8"><td class="memItemLeft" align="right" valign="top"><a id="aa2a25b72f0fba90bf1e06070364d8ec8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8">set_done</a> ()</td></tr>
+<tr class="memdesc:aa2a25b72f0fba90bf1e06070364d8ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set that an i/o read was cancelled. <br /></td></tr>
+<tr class="separator:aa2a25b72f0fba90bf1e06070364d8ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class IoHandleType&gt;<br />
+class llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</h3>
+
+<p>A C++ Receiver of an i/o read for an i/o type of <code>IoHandleType</code>. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/multiplex.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">read_receiver</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1read__receiver.js b/classllfio__v2__xxx_1_1read__receiver.js
new file mode 100644
index 00000000..1e98dcd9
--- /dev/null
+++ b/classllfio__v2__xxx_1_1read__receiver.js
@@ -0,0 +1,10 @@
+var classllfio__v2__xxx_1_1read__receiver =
+[
+ [ "buffers_type", "classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1", null ],
+ [ "error_type", "classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3", null ],
+ [ "io_handle_type", "classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c", null ],
+ [ "value_type", "classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406", null ],
+ [ "set_done", "classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8", null ],
+ [ "set_error", "classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976", null ],
+ [ "set_value", "classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1section__handle-members.html b/classllfio__v2__xxx_1_1section__handle-members.html
index 859fa00a..3752b806 100644
--- a/classllfio__v2__xxx_1_1section__handle-members.html
+++ b/classllfio__v2__xxx_1_1section__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,9 +91,9 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_anonymous</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_backing</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flag</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flag</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -109,16 +111,20 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -140,17 +146,18 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa">section</a>(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4">section_flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d">section_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8">section_handle</a>(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9">section_handle</a>(section_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20">section_handle</a>(const section_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00">set_backing</a>(file_handle *fh) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">swap</a>(section_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80">truncate</a>(extent_type newsize=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~section_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a">section_handle</a>(flag __flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8">section_handle</a>(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9">section_handle</a>(section_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20">section_handle</a>(const section_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00">set_backing</a>(file_handle *fh) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">swap</a>(section_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80">truncate</a>(extent_type newsize=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~section_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -158,7 +165,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1section__handle.html b/classllfio__v2__xxx_1_1section__handle.html
index 8c3e42a9..8981fb71 100644
--- a/classllfio__v2__xxx_1_1section__handle.html
+++ b/classllfio__v2__xxx_1_1section__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::section_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,6 +86,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1section__handle-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -101,9 +104,9 @@ Inheritance diagram for llfio_v2_xxx::section_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1section__handle.png" usemap="#llfio_5Fv2_5Fxxx::section_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::section_5Fhandle_map" name="llfio_5Fv2_5Fxxx::section_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,169,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,169,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -123,8 +126,8 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a c
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a> = 7,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a> = 9
<br />
- }<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:aa3930273a2d4cabbac309e0b75701dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle: does it read, read and write, or atomic append? <a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">More...</a><br /></td></tr>
<tr class="separator:aa3930273a2d4cabbac309e0b75701dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a> = 0,
@@ -134,8 +137,8 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a c
<br />
&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">creation::always_new</a>
<br />
- }<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:af0b352d0f273ba6fa70c178b2c2fee42"><td class="mdescLeft">&#160;</td><td class="mdescRight">On opening, do we also create a new file or truncate an existing one? <a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">More...</a><br /></td></tr>
<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
@@ -148,8 +151,8 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a c
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1">caching::safety_barriers</a> = 7,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a> = 8
<br />
- }<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
<tr class="separator:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33481bae57d9ccd0c97946416f9682f3"><td class="memItemLeft" align="right" valign="top"><a id="a33481bae57d9ccd0c97946416f9682f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> = filesystem::path</td></tr>
@@ -159,7 +162,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5405985448afbfe281cbf98ab7bbb3ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:a5405985448afbfe281cbf98ab7bbb3ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the memory section. <a href="#a5405985448afbfe281cbf98ab7bbb3ab">More...</a><br /></td></tr>
+<tr class="memdesc:a5405985448afbfe281cbf98ab7bbb3ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the memory section. <a href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">More...</a><br /></td></tr>
<tr class="separator:a5405985448afbfe281cbf98ab7bbb3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad057ca569878e127389457e80e0f393d"><td class="memItemLeft" align="right" valign="top"><a id="ad057ca569878e127389457e80e0f393d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -172,6 +175,10 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d">section_handle</a> ()</td></tr>
<tr class="memdesc:a34f702e58a35c1eee31f5a5d3e5ec73d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a34f702e58a35c1eee31f5a5d3e5ec73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c81fe2dc73021beab897b66379aef9a"><td class="memItemLeft" align="right" valign="top"><a id="a0c81fe2dc73021beab897b66379aef9a"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a">section_handle</a> (flag __flag)</td></tr>
+<tr class="memdesc:a0c81fe2dc73021beab897b66379aef9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a section handle using the given flags. <br /></td></tr>
+<tr class="separator:a0c81fe2dc73021beab897b66379aef9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9652c4732314142bd472304f36386ef8"><td class="memItemLeft" align="right" valign="top"><a id="a9652c4732314142bd472304f36386ef8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8">section_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> sectionh, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> *<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> anonymous, flag __flag)</td></tr>
<tr class="memdesc:a9652c4732314142bd472304f36386ef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a section handle using the given native handle type for the section and the given i/o handle for the backing storage. <br /></td></tr>
@@ -251,12 +258,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -277,6 +288,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -289,6 +308,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -317,15 +340,21 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a00db3d1bbffbdb4237401568c441da21"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> maximum_size, flag _flag) noexcept</td></tr>
-<tr class="memdesc:a00db3d1bbffbdb4237401568c441da21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="#a00db3d1bbffbdb4237401568c441da21">More...</a><br /></td></tr>
+<tr class="memdesc:a00db3d1bbffbdb4237401568c441da21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">More...</a><br /></td></tr>
<tr class="separator:a00db3d1bbffbdb4237401568c441da21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9922be0637718ae8c84d4a3c06a9eaf"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf">section</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes=0) noexcept</td></tr>
-<tr class="memdesc:aa9922be0637718ae8c84d4a3c06a9eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="#aa9922be0637718ae8c84d4a3c06a9eaf">More...</a><br /></td></tr>
+<tr class="memdesc:aa9922be0637718ae8c84d4a3c06a9eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf">More...</a><br /></td></tr>
<tr class="separator:aa9922be0637718ae8c84d4a3c06a9eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f36f6c6684010c729c78a34645ba3aa"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa">section</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), flag _flag=flag::read|flag::write) noexcept</td></tr>
-<tr class="memdesc:a8f36f6c6684010c729c78a34645ba3aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by an anonymous, managed file. <a href="#a8f36f6c6684010c729c78a34645ba3aa">More...</a><br /></td></tr>
+<tr class="memdesc:a8f36f6c6684010c729c78a34645ba3aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by an anonymous, managed file. <a href="classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa">More...</a><br /></td></tr>
<tr class="separator:a8f36f6c6684010c729c78a34645ba3aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a5b3323b6f5554b863c7f104de9519c86"><td class="memItemLeft" align="right" valign="top"><a id="a5b3323b6f5554b863c7f104de9519c86"></a>
@@ -337,15 +366,12 @@ Protected Attributes</h2></td></tr>
<tr class="memitem:aff579de98516b809327d4443ad8eb84a"><td class="memItemLeft" align="right" valign="top"><a id="aff579de98516b809327d4443ad8eb84a"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag</b> {flag::none}</td></tr>
<tr class="separator:aff579de98516b809327d4443ad8eb84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to a source of mapped memory. </p>
@@ -389,7 +415,19 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; };</div>
+</div><!-- fragment -->
</div>
</div>
<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
@@ -425,7 +463,16 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr><td class="fieldname"><a id="af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d"></a>always_new&#160;</td><td class="fielddoc"><p>If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; open_existing = 0, <span class="comment">//!&lt; Filesystem entry must already exist</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> only_if_not_exist, <span class="comment">//!&lt; Filesystem entry must NOT exist, and is atomically created by the success of this operation</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> if_needed, <span class="comment">//!&lt; If filesystem entry exists that is used, else one is created</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"></span> truncate_existing, <span class="comment">//!&lt; Filesystem entry must already exist. It is atomically truncated on open, leaving creation date and unique identifier unmodified.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> always_new <span class="comment">//!&lt; If filesystem entry exists, it is atomically replaced with a new inode, else a new entry is created.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; };</div>
+</div><!-- fragment -->
</div>
</div>
<a id="aa3930273a2d4cabbac309e0b75701dca"></a>
@@ -463,8 +510,17 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:553</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:462</div></div>
+<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; unchanged = 0,</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; };</div>
</div><!-- fragment -->
</div>
</div>
@@ -492,7 +548,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</div><div class="memdoc">
<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -521,11 +577,12 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>.</p>
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>, and <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -564,17 +621,38 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>&lt; The backing storage is in fact an executable program binary.</p>
<p>&lt; A single instance of this section is to be shared by all processes using the same backing file.</p>
<p>&lt; Maps of this section, if writable, issue a <code>barrier()</code> when destructed blocking until data (not metadata) reaches physical storage.</p>
-<p>&lt; This section is of non-volatile RAM</p>
+<p>&lt; This section is of non-volatile RAM.</p>
+<p>&lt; For file backed maps, <code>map_handle::write()</code> is implemented as a <code>write()</code> syscall to the file descriptor. This causes the map to be mapped read-only.</p>
<p>&lt; Use <code>utils::page_sizes()[1]</code> sized pages, or fail.</p>
<p>&lt; Use <code>utils::page_sizes()[2]</code> sized pages, or fail.</p>
-<p>&lt; Use <code>utils::page_sizes()[3]</code> sized pages, or fail. </p>
-<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {none = 0U, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">read</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Memory views can be read</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Memory views can be written</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> cow = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Memory views can be copy on written</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> execute = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Memory views can execute code</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; nocommit = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Don&#39;t allocate space for this memory in the system immediately</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> prefault = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Prefault, as if by reading every page, any views of memory upon creation.</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> executable = 1U &lt;&lt; 10U, <span class="comment">//!&lt; The backing storage is in fact an executable program binary.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> singleton = 1U &lt;&lt; 11U, <span class="comment">//!&lt; A single instance of this section is to be shared by all processes using the same backing file.</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; barrier_on_close = 1U &lt;&lt; 16U, <span class="comment">//!&lt; Maps of this section, if writable, issue a `barrier()` when destructed blocking until data (not metadata) reaches physical storage.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> nvram = 1U &lt;&lt; 17U, <span class="comment">//!&lt; This section is of non-volatile RAM</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; page_sizes_1 = 1U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[1]` sized pages, or fail.</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> page_sizes_2 = 2U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[2]` sized pages, or fail.</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> page_sizes_3 = 3U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[3]` sized pages, or fail.</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; readwrite = (read | <a class="code" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a>)};</div><div class="ttc" id="namespacellfio__v2__xxx_html_a681ed7e98ac17e6bb336b9287365141b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">llfio_v2_xxx::write</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::const_buffers_type &gt; write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:828</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:814</div></div>
+<p>&lt; Use <code>utils::page_sizes()[3]</code> sized pages, or fail.</p>
+<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {none = 0U, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Memory views can be read</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Memory views can be written</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> cow = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Memory views can be copy on written</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> execute = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Memory views can execute code</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; nocommit = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Don&#39;t allocate space for this memory in the system immediately</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> prefault = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Prefault, as if by reading every page, any views of memory upon creation.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> executable = 1U &lt;&lt; 10U, <span class="comment">//!&lt; The backing storage is in fact an executable program binary.</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> singleton = 1U &lt;&lt; 11U, <span class="comment">//!&lt; A single instance of this section is to be shared by all processes using the same backing file.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; barrier_on_close = 1U &lt;&lt; 16U, <span class="comment">//!&lt; Maps of this section, if writable, issue a `barrier()` when destructed blocking until data (not metadata) reaches physical storage.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> nvram = 1U &lt;&lt; 17U, <span class="comment">//!&lt; This section is of non-volatile RAM.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> write_via_syscall = 1U &lt;&lt; 18U, <span class="comment">//!&lt; For file backed maps, `map_handle::write()` is implemented as a `write()` syscall to the file descriptor. This causes the map to be mapped read-only.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; page_sizes_1 = 1U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[1]` sized pages, or fail.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> page_sizes_2 = 2U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[2]` sized pages, or fail.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span> page_sizes_3 = 3U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[3]` sized pages, or fail.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; readwrite = (<a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> | <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a>)};</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a00db3d1bbffbdb4237401568c441da21"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00db3d1bbffbdb4237401568c441da21">&#9670;&nbsp;</a></span>section() <span class="overload">[1/3]</span></h2>
+<a id="a8f36f6c6684010c729c78a34645ba3aa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f36f6c6684010c729c78a34645ba3aa">&#9670;&nbsp;</a></span>section() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -585,20 +663,20 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr>
<td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a>&gt; llfio_v2_xxx::section_handle::section </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>backing</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>maximum_size</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>_flag</em>&#160;</td>
+ <td class="paramname"><em>_flag</em> = <code>flag::read|flag::write</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -613,16 +691,16 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</div><div class="memdoc">
-<p>Create a memory section backed by a file. </p>
+<p>Create a memory section backed by an anonymous, managed file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">backing</td><td>The handle to use as backing storage. </td></tr>
- <tr><td class="paramname">maximum_size</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>. </td></tr>
+ <tr><td class="paramname">bytes</td><td>The initial size of this section. Cannot be zero. </td></tr>
+ <tr><td class="paramname">dirh</td><td>Where to create the anonymous, managed file. </td></tr>
<tr><td class="paramname">_flag</td><td>How to create the section.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -669,16 +747,13 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</dd>
</dl>
<p>This convenience overload create a writable section if the backing file is writable, otherwise a read-only section.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section</a>(<a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, bytes, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() ? (flag::readwrite) : (<a class="code" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">flag::read</a>)); }</div><div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a680320bd539378d99870d9b2cdedb9c8"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">llfio_v2_xxx::section_handle::backing</a></div><div class="ttdeci">file_handle * backing() const noexcept</div><div class="ttdoc">Returns the borrowed handle backing this section, if any. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:163</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:814</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a211fee447a47bdeb5424a2a5ae1de852"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">llfio_v2_xxx::handle::is_writable</a></div><div class="ttdeci">bool is_writable() const noexcept</div><div class="ttdoc">True if the handle is writable. </div><div class="ttdef"><b>Definition:</b> handle.hpp:290</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a00db3d1bbffbdb4237401568c441da21"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle::section</a></div><div class="ttdeci">static result&lt; section_handle &gt; section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file. </div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section</a>(<a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, bytes, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() ? (flag::readwrite) : (<a class="code" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">flag::read</a>)); }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a8f36f6c6684010c729c78a34645ba3aa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f36f6c6684010c729c78a34645ba3aa">&#9670;&nbsp;</a></span>section() <span class="overload">[3/3]</span></h2>
+<a id="a00db3d1bbffbdb4237401568c441da21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00db3d1bbffbdb4237401568c441da21">&#9670;&nbsp;</a></span>section() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -689,20 +764,20 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr>
<td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a>&gt; llfio_v2_xxx::section_handle::section </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
- <td class="paramname"><em>bytes</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>backing</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirh</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td>
+ <td class="paramname"><em>maximum_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>_flag</em> = <code>flag::read|flag::write</code>&#160;</td>
+ <td class="paramname"><em>_flag</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -717,16 +792,16 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</div><div class="memdoc">
-<p>Create a memory section backed by an anonymous, managed file. </p>
+<p>Create a memory section backed by a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">bytes</td><td>The initial size of this section. Cannot be zero. </td></tr>
- <tr><td class="paramname">dirh</td><td>Where to create the anonymous, managed file. </td></tr>
+ <tr><td class="paramname">backing</td><td>The handle to use as backing storage. </td></tr>
+ <tr><td class="paramname">maximum_size</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>. </td></tr>
<tr><td class="paramname">_flag</td><td>How to create the section.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -756,8 +831,10 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -790,7 +867,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values <code>NtExtendSection()</code> or <code>ftruncate()</code> can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values NtExtendSection() or ftruncate() can return.</dt><dd></dd></dl>
</div>
</div>
@@ -799,13 +876,19 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1section__handle_html_a00db3d1bbffbdb4237401568c441da21"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle::section</a></div><div class="ttdeci">static result&lt; section_handle &gt; section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file.</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a211fee447a47bdeb5424a2a5ae1de852"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">llfio_v2_xxx::handle::is_writable</a></div><div class="ttdeci">bool is_writable() const noexcept</div><div class="ttdoc">True if the handle is writable.</div><div class="ttdef"><b>Definition:</b> handle.hpp:342</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle.</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:596</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1section__handle_html_a680320bd539378d99870d9b2cdedb9c8"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">llfio_v2_xxx::section_handle::backing</a></div><div class="ttdeci">file_handle * backing() const noexcept</div><div class="ttdoc">Returns the borrowed handle backing this section, if any.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:173</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:479</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:1027</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1section__handle.js b/classllfio__v2__xxx_1_1section__handle.js
index 8d9ef0ca..2237e077 100644
--- a/classllfio__v2__xxx_1_1section__handle.js
+++ b/classllfio__v2__xxx_1_1section__handle.js
@@ -31,6 +31,7 @@ var classllfio__v2__xxx_1_1section__handle =
] ],
[ "~section_handle", "classllfio__v2__xxx_1_1section__handle.html#a0eef87db368c1c6b6150ee4d5392c54b", null ],
[ "section_handle", "classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d", null ],
+ [ "section_handle", "classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a", null ],
[ "section_handle", "classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8", null ],
[ "section_handle", "classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9", null ],
[ "section_handle", "classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20", null ],
@@ -43,24 +44,28 @@ var classllfio__v2__xxx_1_1section__handle =
[ "close", "classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d", null ],
[ "current_path", "classllfio__v2__xxx_1_1section__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
[ "flags", "classllfio__v2__xxx_1_1section__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1section__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1section__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1section__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1section__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1section__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1section__handle.html#a501aa723172f6852e82738b0969278ae", null ],
[ "is_nvram", "classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1section__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1section__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1section__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1section__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1section__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1section__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1section__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1section__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1section__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1section__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1section__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1section__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
[ "length", "classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441", null ],
[ "native_handle", "classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a", null ],
[ "operator=", "classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1section__handle.html#ad057ca569878e127389457e80e0f393d", null ],
[ "release", "classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
@@ -68,12 +73,11 @@ var classllfio__v2__xxx_1_1section__handle =
[ "section_flags", "classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1section__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
[ "set_backing", "classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00", null ],
- [ "swap", "classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733", null ],
[ "swap", "classllfio__v2__xxx_1_1section__handle.html#a4716696b8700953889006251e0678aa4", null ],
+ [ "swap", "classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733", null ],
[ "truncate", "classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80", null ],
[ "_anonymous", "classllfio__v2__xxx_1_1section__handle.html#a508cd333b972b87a6e0dd63c4d05d30b", null ],
[ "_backing", "classllfio__v2__xxx_1_1section__handle.html#a5b3323b6f5554b863c7f104de9519c86", null ],
- [ "_caching", "classllfio__v2__xxx_1_1section__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
[ "_flag", "classllfio__v2__xxx_1_1section__handle.html#aff579de98516b809327d4443ad8eb84a", null ],
[ "_flags", "classllfio__v2__xxx_1_1section__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_v", "classllfio__v2__xxx_1_1section__handle.html#a1d6911771ac743fd9d64063c12429deb", null ]
diff --git a/classllfio__v2__xxx_1_1symlink__handle-members.html b/classllfio__v2__xxx_1_1symlink__handle-members.html
index a4f60165..606525f0 100644
--- a/classllfio__v2__xxx_1_1symlink__handle-members.html
+++ b/classllfio__v2__xxx_1_1symlink__handle-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,49 +89,53 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_devid</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">_fetch_inode</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_set_caching</b>(native_handle_type &amp;nativeh, caching caching) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd">buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">clone</a>(mode mode_=mode::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">current_path</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">current_path</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">operator=</a>(symlink_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -143,10 +149,10 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1">random_symlink</a>(const path_handle &amp;dirpath, mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">read</a>(io_request&lt; buffers_type &gt; req={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">read</a>(io_request&lt; buffers_type &gt; req={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b">reopen</a>(mode mode_=mode::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
@@ -161,13 +167,30 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f">symlink_handle</a>(symlink_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1">symlink_handle</a>(const symlink_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">symlink_type</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">write</a>(io_request&lt; const_buffers_type &gt; req, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~symlink_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_link_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_link_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_parent_path_handle_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_parent_path_handle_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_relink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_relink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_reopen_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_reopen_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink</b>(Args &amp;&amp;... args) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>try_unlink_for</b>(Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_unlink_until</b>(Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148">uniquely_named_symlink</a>(const path_handle &amp;dirpath, mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">write</a>(io_request&lt; const_buffers_type &gt; req, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~symlink_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -175,7 +198,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1symlink__handle.html b/classllfio__v2__xxx_1_1symlink__handle.html
index e141389d..c62d68e5 100644
--- a/classllfio__v2__xxx_1_1symlink__handle.html
+++ b/classllfio__v2__xxx_1_1symlink__handle.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,6 +88,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classllfio__v2__xxx_1_1symlink__handle-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -103,10 +106,10 @@ Inheritance diagram for llfio_v2_xxx::symlink_handle:</div>
<div class="center">
<img src="classllfio__v2__xxx_1_1symlink__handle.png" usemap="#llfio_5Fv2_5Fxxx::symlink_5Fhandle_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::symlink_5Fhandle_map" name="llfio_5Fv2_5Fxxx::symlink_5Fhandle_map">
-<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance. " alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,170,24"/>
-<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number. " alt="llfio_v2_xxx::fs_handle" shape="rect" coords="180,0,350,24"/>
-</map>
- </div></div>
+<area href="classllfio__v2__xxx_1_1handle.html" title="A native_handle_type which is managed by the lifetime of this object instance." alt="llfio_v2_xxx::handle" shape="rect" coords="0,0,170,24"/>
+<area href="classllfio__v2__xxx_1_1fs__handle.html" title="A handle to something with a device and inode number." alt="llfio_v2_xxx::fs_handle" shape="rect" coords="180,0,350,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -130,8 +133,8 @@ Public Types</h2></td></tr>
<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559">symlink_type::symbolic</a>,
<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939">symlink_type::win_wsl</a>,
<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a">symlink_type::win_junction</a>
- }<tr class="memdesc:a1908a242ca435cf1386fe96a86da4002"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of symbolic link this is. <a href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:a1908a242ca435cf1386fe96a86da4002"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of symbolic link this is. <a href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">More...</a><br /></td></tr>
<tr class="separator:a1908a242ca435cf1386fe96a86da4002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bb14bb85eec86532bb63178aca00580"><td class="memItemLeft" align="right" valign="top"><a id="a9bb14bb85eec86532bb63178aca00580"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
@@ -175,6 +178,10 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
<tr class="separator:a1a65884346740af7fb4648c79d44a750"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82a83c5e44659e01a2218f0af41bde7"><td class="memItemLeft" align="right" valign="top"><a id="ab82a83c5e44659e01a2218f0af41bde7"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">unique_id_type_hasher</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128_hasher</td></tr>
+<tr class="memdesc:ab82a83c5e44659e01a2218f0af41bde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hasher for the unique identifier type used by this handle. <br /></td></tr>
+<tr class="separator:ab82a83c5e44659e01a2218f0af41bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -214,8 +221,20 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">close</a> () noexcept override</td></tr>
<tr class="memdesc:a2a22f51ca307aa30660ed91b26785ec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a2a22f51ca307aa30660ed91b26785ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae07dfa26b75c9b973909c7da4580cf5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
-<tr class="separator:aae07dfa26b75c9b973909c7da4580cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eed91444d65330347cb89bbe206c13b"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b">reopen</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:a1eed91444d65330347cb89bbe206c13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2b320abbe2e64eb86da427bc7e48f67"><td class="memTemplParams" colspan="2"><a id="ac2b320abbe2e64eb86da427bc7e48f67"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ac2b320abbe2e64eb86da427bc7e48f67"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ac2b320abbe2e64eb86da427bc7e48f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab84e4bb0a339810f8351b491f1525a61"><td class="memTemplParams" colspan="2"><a id="ab84e4bb0a339810f8351b491f1525a61"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:ab84e4bb0a339810f8351b491f1525a61"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:ab84e4bb0a339810f8351b491f1525a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2aa9a90053f33201b054d79cc0c04d82"><td class="memTemplParams" colspan="2"><a id="a2aa9a90053f33201b054d79cc0c04d82"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a2aa9a90053f33201b054d79cc0c04d82"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_reopen_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a2aa9a90053f33201b054d79cc0c04d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea44ed050acfd8e4f9dec59ff194c746"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">current_path</a> () const noexcept override</td></tr>
<tr class="separator:aea44ed050acfd8e4f9dec59ff194c746"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afea9ef2b36cac3f6dfcae7555ca3303c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">relink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept override</td></tr>
@@ -227,7 +246,7 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<tr class="memitem:a7227db10ebbb385311452e912d833447"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">write</a> (<a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">const_buffers_type</a> &gt; req, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:a7227db10ebbb385311452e912d833447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
-<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
@@ -259,12 +278,16 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memdesc:ac3aa3dc009822c0e437f317864534feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:ac3aa3dc009822c0e437f317864534feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a> (bool enable) noexcept</td></tr>
-<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
+<tr class="memdesc:a101620e9fff0c0e8c346af0e9de58b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: Changes whether this handle is append only or not. <a href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">More...</a><br /></td></tr>
<tr class="separator:a101620e9fff0c0e8c346af0e9de58b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8085cb3b40982c6dbd874547c183fd5e"><td class="memItemLeft" align="right" valign="top"><a id="a8085cb3b40982c6dbd874547c183fd5e"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:a8085cb3b40982c6dbd874547c183fd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:a8085cb3b40982c6dbd874547c183fd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade2416b9154d1e56937c99cd514324f8"><td class="memItemLeft" align="right" valign="top"><a id="ade2416b9154d1e56937c99cd514324f8"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">is_multiplexable</a> () const noexcept</td></tr>
+<tr class="memdesc:ade2416b9154d1e56937c99cd514324f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if multiplexable. <br /></td></tr>
+<tr class="separator:ade2416b9154d1e56937c99cd514324f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a501aa723172f6852e82738b0969278ae"><td class="memItemLeft" align="right" valign="top"><a id="a501aa723172f6852e82738b0969278ae"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:a501aa723172f6852e82738b0969278ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:a501aa723172f6852e82738b0969278ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695ce0ed1606d540cfa452790ea71632"><td class="memItemLeft" align="right" valign="top"><a id="a695ce0ed1606d540cfa452790ea71632"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:a695ce0ed1606d540cfa452790ea71632"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -285,6 +308,14 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ae0d5de068f71628e9491c5669f89dca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ae0d5de068f71628e9491c5669f89dca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memItemLeft" align="right" valign="top"><a id="ac52242425f6e71c3fddcb6cdbe2c3b4e"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:ac52242425f6e71c3fddcb6cdbe2c3b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memItemLeft" align="right" valign="top"><a id="ac9280ab1e6f2a65bc73ee0cba5a8deea"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:ac9280ab1e6f2a65bc73ee0cba5a8deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018de0f7c177e3cff239016d14582e9a"><td class="memItemLeft" align="right" valign="top"><a id="a018de0f7c177e3cff239016d14582e9a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:a018de0f7c177e3cff239016d14582e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -297,6 +328,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a354c9168af7759f7151a071c1e1b7b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a354c9168af7759f7151a071c1e1b7b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memItemLeft" align="right" valign="top"><a id="a028fbead3b3c4d4eed2da7fa51c75036"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a028fbead3b3c4d4eed2da7fa51c75036"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a028fbead3b3c4d4eed2da7fa51c75036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bf8668df002dac5a7d9397486b2946"><td class="memItemLeft" align="right" valign="top"><a id="a90bf8668df002dac5a7d9397486b2946"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a> () const noexcept</td></tr>
<tr class="memdesc:a90bf8668df002dac5a7d9397486b2946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kernel cache strategy used by this handle. <br /></td></tr>
@@ -335,13 +370,63 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
<tr class="separator:a9793fe40564fda2437783488bd51b9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a865caad2f7f4bdf12fb74aabfe3c5ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplParams" colspan="2"><a id="a1eeaf9d77a1279b4f0d3062de509f77f"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a1eeaf9d77a1279b4f0d3062de509f77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplParams" colspan="2"><a id="a41ea4bd2d5a66fbde4cdbfe463166a4f"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a41ea4bd2d5a66fbde4cdbfe463166a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplParams" colspan="2"><a id="acbb1fe8c7901382307d84848fdc0afcb"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:acbb1fe8c7901382307d84848fdc0afcb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_parent_path_handle_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:acbb1fe8c7901382307d84848fdc0afcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplParams" colspan="2"><a id="a7f5f9892f6652359f2330bf6d9b89e17"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f5f9892f6652359f2330bf6d9b89e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplParams" colspan="2"><a id="af5565cd5f2fcbb9472b2a00795cc0bcc"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:af5565cd5f2fcbb9472b2a00795cc0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplParams" colspan="2"><a id="a1fc4e2ade67dfb9140007cc31f4b6b20"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_relink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:a1fc4e2ade67dfb9140007cc31f4b6b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
+<tr class="separator:aa7770c6b7c478d74654f25b8c1a1585c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplParams" colspan="2"><a id="ad43b812385c7fc8aae9e59838a1411bb"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:ad43b812385c7fc8aae9e59838a1411bb"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:ad43b812385c7fc8aae9e59838a1411bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplParams" colspan="2"><a id="a65d73e0e89bac484ce40427b58dcfe53"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a65d73e0e89bac484ce40427b58dcfe53"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a65d73e0e89bac484ce40427b58dcfe53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplParams" colspan="2"><a id="ad2703814c7599d2081ca10763bbeba4a"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ad2703814c7599d2081ca10763bbeba4a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_link_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ad2703814c7599d2081ca10763bbeba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplParams" colspan="2"><a id="a7f77a249baf4e0c5de2172669a7724d7"></a>
+template&lt;class... Args&gt; </td></tr>
+<tr class="memitem:a7f77a249baf4e0c5de2172669a7724d7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink</b> (Args &amp;&amp;... args) noexcept</td></tr>
+<tr class="separator:a7f77a249baf4e0c5de2172669a7724d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplParams" colspan="2"><a id="a209de025a2d3e202a61c50b52d43f2af"></a>
+template&lt;class... Args, class Rep , class Period &gt; </td></tr>
+<tr class="memitem:a209de025a2d3e202a61c50b52d43f2af"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_for</b> (Args &amp;&amp;... args, const std::chrono::duration&lt; Rep, Period &gt; &amp;duration) noexcept</td></tr>
+<tr class="separator:a209de025a2d3e202a61c50b52d43f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplParams" colspan="2"><a id="ae9c4133fef23811abcb01e1faf2b19d3"></a>
+template&lt;class... Args, class Clock , class Duration &gt; </td></tr>
+<tr class="memitem:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>try_unlink_until</b> (Args &amp;&amp;... args, const std::chrono::time_point&lt; Clock, Duration &gt; &amp;timeout) noexcept</td></tr>
+<tr class="separator:ae9c4133fef23811abcb01e1faf2b19d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a004563b5be8b75d20617018178f68e33"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">symlink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a004563b5be8b75d20617018178f68e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa519e98396a1596c880267dcc92643f1"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1">random_symlink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:aa519e98396a1596c880267dcc92643f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa327ae84e553a0a719217dd561ebc148"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148">uniquely_named_symlink</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:aa327ae84e553a0a719217dd561ebc148"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
@@ -350,17 +435,20 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="memdesc:adc2b24484565bcb0cf654adf2f732f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill in _devid and _inode from the handle via fstat() <br /></td></tr>
<tr class="separator:adc2b24484565bcb0cf654adf2f732f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memItemLeft" align="right" valign="top"><a id="a1dd1abc0bd1fa1f10782301dddf802b7"></a>
+static constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_set_caching</b> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;nativeh, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>) noexcept</td></tr>
+<tr class="separator:a1dd1abc0bd1fa1f10782301dddf802b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
-<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
-<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
-flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
-<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6911771ac743fd9d64063c12429deb"><td class="memItemLeft" align="right" valign="top"><a id="a1d6911771ac743fd9d64063c12429deb"></a>
<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_v</b></td></tr>
<tr class="separator:a1d6911771ac743fd9d64063c12429deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
+flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
+<tr class="separator:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d20a64cf182162a49962ed25d2126b3"><td class="memItemLeft" align="right" valign="top"><a id="a4d20a64cf182162a49962ed25d2126b3"></a>
dev_t&#160;</td><td class="memItemRight" valign="bottom"><b>_devid</b> {0}</td></tr>
<tr class="separator:a4d20a64cf182162a49962ed25d2126b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -372,7 +460,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<div class="textblock"><p>A handle to an inode which redirects to a different path. </p>
<p>Microsoft Windows and Linux provide the ability to open the contents of a symbolic link directly, for those platforms this handle works exactly like any ordinary handle. For other POSIX platforms without proprietary extensions, it is not possible to get a valid file descriptor to the contents of a symlink, and in this situation the native handle returned will be <code>-1</code> and the preprocessor macro <code>LLFIO_SYMLINK_HANDLE_IS_FAKED</code> will be non-zero.</p>
<p>If <code>LLFIO_SYMLINK_HANDLE_IS_FAKED</code> is on, the handle is race free up to the containing directory only. If a third party relocates the symbolic link into a different directory, and race free checking is enabled, this class will simply refuse to work with <code>errc::no_such_file_or_directory</code> as it no longer has any way of finding the symbolic link. You should take care that this does not become a denial of service attack.</p>
-<p>On Microsoft Windows, there are many kinds of symbolic link: this implementation supports directory junctions, and NTFS symbolic links. Reads of any others will return an error code comparing equal to <code>errc::protocol_not_supported</code>. One should note that modifying symbolic links was not historically permitted by users with ordinary permissions on Microsoft Windows, however recent versions of Windows 10 do support symbolic links for ordinary users. All versions of Windows support directory symbolic links (junctions), these work for all users in any configuration. </p>
+<p>On Microsoft Windows, there are many kinds of symbolic link: this implementation supports directory junctions, and NTFS symbolic links. Reads of any others will return an error code comparing equal to <code>errc::protocol_not_supported</code>. One should note that modifying symbolic links was not historically permitted by users with ordinary permissions on Microsoft Windows, however recent versions of Windows 10 do support symbolic links for ordinary users. All versions of Windows support directory symbolic links (junctions), these work for all users in any configuration.</p>
+<p>(Note that to create a directory junction on Windows, first create a directory, open that empty directory for modification using symlink_handle, then write using <code>symlink_type::win_junction</code>) </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a1908a242ca435cf1386fe96a86da4002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1908a242ca435cf1386fe96a86da4002">&#9670;&nbsp;</a></span>symlink_type</h2>
@@ -400,17 +489,24 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</td></tr>
<tr><td class="fieldname"><a id="a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559"></a>symbolic&#160;</td><td class="fielddoc"><p>Standard symbolic link. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939"></a>win_wsl&#160;</td><td class="fielddoc"><p>WSL symbolic link (Windows only) </p>
+<tr><td class="fieldname"><a id="a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939"></a>win_wsl&#160;</td><td class="fielddoc"><p>WSL symbolic link (Windows only, not actually implemented currently) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a"></a>win_junction&#160;</td><td class="fielddoc"><p>NTFS directory junction (Windows only, directories and volumes only) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; none, <span class="comment">//!&lt;! No link</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> symbolic, <span class="comment">//!&lt; Standard symbolic link</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; win_wsl, <span class="comment">//!&lt; WSL symbolic link (Windows only)</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span> win_junction <span class="comment">//!&lt; NTFS directory junction (Windows only, directories and volumes only)</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; none, <span class="comment">//!&lt;! No link</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"></span> symbolic, <span class="comment">//!&lt; Standard symbolic link</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; win_wsl, <span class="comment">//!&lt; WSL symbolic link (Windows only, not actually implemented currently)</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"></span> win_junction <span class="comment">//!&lt; NTFS directory junction (Windows only, directories and volumes only)</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone()</h2>
<div class="memitem">
<div class="memproto">
@@ -432,12 +528,12 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</div><div class="memdoc">
<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
</div>
</div>
-<a id="aae07dfa26b75c9b973909c7da4580cf5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aae07dfa26b75c9b973909c7da4580cf5">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+<a id="aea44ed050acfd8e4f9dec59ff194c746"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea44ed050acfd8e4f9dec59ff194c746">&#9670;&nbsp;</a></span>current_path()</h2>
<div class="memitem">
<div class="memproto">
@@ -446,38 +542,32 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a>&gt; llfio_v2_xxx::symlink_handle::clone </td>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::symlink_handle::current_path </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td> const</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
-<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
+<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
+<p>On Windows, you will almost certainly get back a path of the form <code>\!!\Device\HarddiskVolume10\Users\ned\...</code>. See <code>path_view</code> for what all the path prefix sequences mean, but to summarise the <code>\!!\</code> prefix is LLFIO-only and will not be accepted by other Windows APIs. Pass LLFIO derived paths through the function <code>to_win32_path()</code> to Win32-ise them. This function is also available on Linux where it does nothing, so you can use it in portable code.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n At least one malloc for the path_type, likely several more.</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">llfio_v2_xxx::handle</a>.</p>
</div>
</div>
-<a id="aea44ed050acfd8e4f9dec59ff194c746"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aea44ed050acfd8e4f9dec59ff194c746">&#9670;&nbsp;</a></span>current_path()</h2>
+<a id="aa7770c6b7c478d74654f25b8c1a1585c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7770c6b7c478d74654f25b8c1a1585c">&#9670;&nbsp;</a></span>link()</h2>
<div class="memitem">
<div class="memproto">
@@ -486,26 +576,46 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a>&gt; llfio_v2_xxx::symlink_handle::current_path </td>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::fs_handle::link </td>
<td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>base</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">path_view_type</a>&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
-<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
-<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
-<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with an implementation based on retrieving the current path of a cached handle to the parent directory. On platforms with instability or failure to retrieve the correct current path for regular files, the cached parent handle adapter works around the problem by taking advantage of directory inodes not having the same instability problems on any platform. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">llfio_v2_xxx::handle</a>.</p>
+<p>Links the inode referred to by this open handle to the path specified. The current path of this open handle is not changed, unless it has no current path due to being unlinked.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for linking an open handle to a new location (Linux, Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong inode being linked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before linking that the item about to be hard linked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">base</td><td>Base for any relative path. </td></tr>
+ <tr><td class="paramname">path</td><td>The relative or absolute new path to hard link to. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
</div>
</div>
@@ -534,7 +644,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><div class="memdoc">
<p>Obtain a handle to the path <b>currently</b> containing this handle's file entry.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is <b>racy</b> and can result in the wrong path handle being returned. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory, then checks if the file entry within has the same inode as the open file handle. It will retry this matching until success until the deadline given.</dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Calls <code>current_path()</code> and thus is both expensive and calls malloc many times.</dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Calls current_path() and thus is both expensive and calls malloc many times.</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd><code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> which overrides this with a zero cost implementation, thus making unlinking and relinking very considerably quicker. </dd></dl>
</div>
@@ -564,71 +674,119 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><div class="memdoc">
<p>Bitwise flags which can be specified. </p>
-<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
-</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>&lt; No flags</p>
+<p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
-<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
-</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code></p>
+<p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
-<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>Create the handle in a way where i/o upon it can be multiplexed with other i/o on the same initiating thread of execution i.e. you can perform more than one read concurrently, without using threads. The blocking operations <code>.read()</code> and <code>.write()</code> may have to use a less efficient, but cancellable, blocking implementation for handles created in this way. On Microsoft Windows, this creates handles with <code>OVERLAPPED</code> semantics. On POSIX, this creates handles with nonblocking semantics for non-file handles such as pipes and sockets, however for file, directory and symlink handles it does not set nonblocking, as it is non-portable.</p>
<p>&lt; Using insane POSIX byte range locks</p>
-<p>&lt; This is an inode created with no representation on the filing system </p>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
-</div>
-</div>
-<a id="aa519e98396a1596c880267dcc92643f1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa519e98396a1596c880267dcc92643f1">&#9670;&nbsp;</a></span>random_symlink()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a>&gt; llfio_v2_xxx::symlink_handle::random_symlink </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a symlink handle creating a randomly named symlink on a path. The symlink is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing symlink.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return, or failure to allocate memory. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">for</span>(;;)</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; {</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; result&lt;symlink_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">symlink</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; {</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1symlink__handle_html_a004563b5be8b75d20617018178f68e33"><div class="ttname"><a href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle::symlink</a></div><div class="ttdeci">static result&lt; symlink_handle &gt; symlink(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, flag flags=flag::none) noexcept</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:134</div></div>
+<p>&lt; This is an inode created with no representation on the filing system</p>
+<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> caching modes specified below:</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::none</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * caching::reads</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * caching::safety_barriers</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> i/o performance.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> was set to.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> disable default using this flag.</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div>
+<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> /*! Create the handle in a way where i/o upon it can be multiplexed with other i/o</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> on the same initiating thread of execution i.e. you can perform more than one read</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"> concurrently, without using threads. The blocking operations `.read()` and `.write()`</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment"> may have to use a less efficient, but cancellable, blocking implementation for handles created</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> in this way. On Microsoft Windows, this creates handles with `OVERLAPPED` semantics.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> On POSIX, this creates handles with nonblocking semantics for non-file handles such</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment"> as pipes and sockets, however for file, directory and symlink handles it does not set</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> nonblocking, as it is non-portable.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; multiplexable = 1U &lt;&lt; 28U,</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div>
</div><!-- fragment -->
</div>
</div>
@@ -664,8 +822,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the errors which <code>readlinkat()</code> or <code>DeviceIoControl()</code> might return, or failure to allocate memory if the user did not supply a kernel buffer to use, or the user supplied buffer was too small. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If the <code>kernelbuffer</code> parameter is set in the request, no memory allocations. If unset, at least one memory allocation, possibly more is performed. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the errors which readlinkat() or DeviceIoControl() might return, or failure</dt><dd>to allocate memory if the user did not supply a kernel buffer to use, or the user supplied buffer was too small. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n If the kernelbuffer parameter is set in the request, no memory allocations.</dt><dd>If unset, at least one memory allocation, possibly more is performed. </dd></dl>
</div>
</div>
@@ -714,7 +872,9 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</tr>
</table>
</div><div class="memdoc">
-<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and silent matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Relinks the current path of this open handle to the new path specified. If <code>atomic_replace</code> is true, the relink <b>atomically</b> and silently replaces any item at the new path specified. This operation is both atomic and matching POSIX behaviour even on Microsoft Windows where no Win32 API can match POSIX semantics.</p>
+<p>Note that if <code>atomic_replace</code> is false, the operation <em>may</em> be implemented as creating a hard link to the destination (which fails if the destination exists), opening a new file descriptor to the destination, closing the existing file descriptor, replacing the existing file descriptor with the new one (this is to ensure path tracking continues to work), then unlinking the previous link. Thus <code>native_handle()</code>'s value <em>may</em> change. This is not the case on Microsoft Windows nor Linux, both of which provide syscalls capable of refusing to rename if the destination exists.</p>
+<p>If the handle refers to a pipe, on Microsoft Windows the base path handle is ignored as there is a single global named pipe namespace. Unless the path fragment begins with <code>\</code>, the string <code>\??\</code> is prefixed to the name before passing it to the NT kernel API which performs the rename. This is because <code>\\.\</code> in Win32 maps onto <code>\??\</code> in the NT kernel.</p>
<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for renaming an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being relinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the source containing directory first, then checks before relinking that the item about to be relinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -725,12 +885,52 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">llfio_v2_xxx::fs_handle</a>.</p>
</div>
</div>
+<a id="a1eed91444d65330347cb89bbe206c13b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1eed91444d65330347cb89bbe206c13b">&#9670;&nbsp;</a></span>reopen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a>&gt; llfio_v2_xxx::symlink_handle::reopen </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Reopen this handle (copy constructor is disabled to avoid accidental copying), optionally race free reopening the handle with different access or caching.</p>
+<p>Microsoft Windows provides a syscall for cloning an existing handle but with new access. On POSIX, we must loop calling <code>current_path()</code>, trying to open the path returned and making sure it is the same inode.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup() or DuplicateHandle() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On POSIX if changing the mode, we must loop calling current_path() and</dt><dd>trying to open the path returned. Thus many allocations may occur. </dd></dl>
+
+</div>
+</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
@@ -757,8 +957,10 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>EXTENSION: Changes whether this handle is append only or not. </p>
<dl class="section warning"><dt>Warning</dt><dd>On Windows this is implemented as a bit of a hack to make it fast like on POSIX, so make sure you open the handle for read/write originally. Note unlike on POSIX the append_only disposition will be the only one toggled, seekable and readable will remain turned on.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>No memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Whatever POSIX fcntl() returns. On Windows nothing is changed on the handle.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n No memory allocation.</dt><dd></dd></dl>
+
+<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>.</p>
</div>
</div>
@@ -815,9 +1017,72 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><div class="memdoc">
<p>Create a symlink handle opening access to a symbolic link.</p>
<p>For obvious reasons, one cannot append to a symbolic link, nor create with truncate. In this situation a failure comparing equal to <code>errc::function_not_supported</code> shall be returned.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None, unless <code>LLFIO_SYMLINK_HANDLE_IS_FAKED</code> is on, in which case one. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None, unless LLFIO_SYMLINK_HANDLE_IS_FAKED is on, in which case one.</dt><dd></dd></dl>
+
+</div>
+</div>
+<a id="aa327ae84e553a0a719217dd561ebc148"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa327ae84e553a0a719217dd561ebc148">&#9670;&nbsp;</a></span>uniquely_named_symlink()</h2>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a>&gt; llfio_v2_xxx::symlink_handle::uniquely_named_symlink </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>flag::none</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a symlink handle creating a uniquely named symlink on a path. The symlink is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing symlink.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return,</dt><dd>or failure to allocate memory. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div>
+<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">for</span>(;;)</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keyword">auto</span> randomname = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">utils::random_string</a>(32);</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; randomname.append(<span class="stringliteral">&quot;.random&quot;</span>);</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; result&lt;symlink_handle&gt; ret = <a class="code" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">symlink</a>(dirpath, randomname, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">creation::only_if_not_exist</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>);</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">if</span>(ret || (!ret &amp;&amp; ret.error() != errc::file_exists))</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; {</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div>
+<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }</div>
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; {</div>
+<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a002c9dab669604d58e08aa8f4dbc99c8"></a>
@@ -851,7 +1116,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">llfio_v2_xxx::fs_handle</a>.</p>
@@ -898,8 +1163,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the errors which <code>symlinkat()</code> or <code>DeviceIoControl()</code> might return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>On Windows, if the <code>kernelbuffer</code> parameter is set on entry, no memory allocations. If unset, then at least one memory allocation, possibly more is performed. On POSIX, at least one memory allocation. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the errors which symlinkat() or DeviceIoControl() might return.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n On Windows, if the kernelbuffer parameter is set on entry, no memory allocations.</dt><dd>If unset, then at least one memory allocation, possibly more is performed. On POSIX, at least one memory allocation. </dd></dl>
</div>
</div>
@@ -908,13 +1173,17 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255">llfio_v2_xxx::handle::creation::only_if_not_exist</a></div><div class="ttdeci">@ only_if_not_exist</div><div class="ttdoc">Filesystem entry must NOT exist, and is atomically created by the success of this operation.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_a6a29cf29a4b097411f6c1e5274bfb417"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils::random_string</a></div><div class="ttdeci">std::string random_string(size_t randomlen)</div><div class="ttdoc">Returns a cryptographically random string capable of being used as a filename. Essentially random_fil...</div><div class="ttdef"><b>Definition:</b> utils.hpp:169</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with.</div><div class="ttdef"><b>Definition:</b> handle.hpp:423</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1symlink__handle_html_a004563b5be8b75d20617018178f68e33"><div class="ttname"><a href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle::symlink</a></div><div class="ttdeci">static result&lt; symlink_handle &gt; symlink(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, flag flags=flag::none) noexcept</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1symlink__handle.js b/classllfio__v2__xxx_1_1symlink__handle.js
index 768bee9d..2dee3d0d 100644
--- a/classllfio__v2__xxx_1_1symlink__handle.js
+++ b/classllfio__v2__xxx_1_1symlink__handle.js
@@ -18,6 +18,7 @@ var classllfio__v2__xxx_1_1symlink__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a", null ],
[ "size_type", "classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1symlink__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
+ [ "unique_id_type_hasher", "classllfio__v2__xxx_1_1symlink__handle.html#ab82a83c5e44659e01a2218f0af41bde7", null ],
[ "symlink_type", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002", [
[ "none", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "symbolic", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559", null ],
@@ -35,42 +36,61 @@ var classllfio__v2__xxx_1_1symlink__handle =
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1symlink__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1symlink__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
[ "clone", "classllfio__v2__xxx_1_1symlink__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
- [ "clone", "classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5", null ],
[ "close", "classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3", null ],
[ "current_path", "classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746", null ],
[ "flags", "classllfio__v2__xxx_1_1symlink__handle.html#a013936bc1254b1a47567fe29698d1b1c", null ],
+ [ "is_allocation", "classllfio__v2__xxx_1_1symlink__handle.html#a028fbead3b3c4d4eed2da7fa51c75036", null ],
[ "is_append_only", "classllfio__v2__xxx_1_1symlink__handle.html#ac3aa3dc009822c0e437f317864534feb", null ],
[ "is_directory", "classllfio__v2__xxx_1_1symlink__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce", null ],
+ [ "is_multiplexable", "classllfio__v2__xxx_1_1symlink__handle.html#ade2416b9154d1e56937c99cd514324f8", null ],
[ "is_multiplexer", "classllfio__v2__xxx_1_1symlink__handle.html#a018de0f7c177e3cff239016d14582e9a", null ],
- [ "is_overlapped", "classllfio__v2__xxx_1_1symlink__handle.html#a8085cb3b40982c6dbd874547c183fd5e", null ],
+ [ "is_nonblocking", "classllfio__v2__xxx_1_1symlink__handle.html#a501aa723172f6852e82738b0969278ae", null ],
+ [ "is_pipe", "classllfio__v2__xxx_1_1symlink__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e", null ],
[ "is_process", "classllfio__v2__xxx_1_1symlink__handle.html#ade0d0e05b844e77f425669da87bf48bb", null ],
[ "is_readable", "classllfio__v2__xxx_1_1symlink__handle.html#a97e0884c27147b4929be98961b8e9254", null ],
[ "is_regular", "classllfio__v2__xxx_1_1symlink__handle.html#a7751fbb4b1aff527f469412ea33116ed", null ],
[ "is_section", "classllfio__v2__xxx_1_1symlink__handle.html#a354c9168af7759f7151a071c1e1b7b19", null ],
[ "is_seekable", "classllfio__v2__xxx_1_1symlink__handle.html#a695ce0ed1606d540cfa452790ea71632", null ],
+ [ "is_socket", "classllfio__v2__xxx_1_1symlink__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea", null ],
[ "is_symlink", "classllfio__v2__xxx_1_1symlink__handle.html#ae0d5de068f71628e9491c5669f89dca0", null ],
[ "is_valid", "classllfio__v2__xxx_1_1symlink__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2", null ],
[ "is_writable", "classllfio__v2__xxx_1_1symlink__handle.html#a211fee447a47bdeb5424a2a5ae1de852", null ],
[ "kernel_caching", "classllfio__v2__xxx_1_1symlink__handle.html#a90bf8668df002dac5a7d9397486b2946", null ],
+ [ "link", "classllfio__v2__xxx_1_1symlink__handle.html#aa7770c6b7c478d74654f25b8c1a1585c", null ],
[ "native_handle", "classllfio__v2__xxx_1_1symlink__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
- [ "operator=", "classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b", null ],
[ "operator=", "classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1symlink__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
[ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1symlink__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da", null ],
[ "release", "classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c", null ],
+ [ "reopen", "classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1symlink__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1symlink__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
[ "st_dev", "classllfio__v2__xxx_1_1symlink__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090", null ],
[ "st_ino", "classllfio__v2__xxx_1_1symlink__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc", null ],
[ "swap", "classllfio__v2__xxx_1_1symlink__handle.html#a4716696b8700953889006251e0678aa4", null ],
[ "swap", "classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6", null ],
+ [ "try_link", "classllfio__v2__xxx_1_1symlink__handle.html#ad43b812385c7fc8aae9e59838a1411bb", null ],
+ [ "try_link_for", "classllfio__v2__xxx_1_1symlink__handle.html#a65d73e0e89bac484ce40427b58dcfe53", null ],
+ [ "try_link_until", "classllfio__v2__xxx_1_1symlink__handle.html#ad2703814c7599d2081ca10763bbeba4a", null ],
+ [ "try_parent_path_handle", "classllfio__v2__xxx_1_1symlink__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f", null ],
+ [ "try_parent_path_handle_for", "classllfio__v2__xxx_1_1symlink__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f", null ],
+ [ "try_parent_path_handle_until", "classllfio__v2__xxx_1_1symlink__handle.html#acbb1fe8c7901382307d84848fdc0afcb", null ],
+ [ "try_relink", "classllfio__v2__xxx_1_1symlink__handle.html#a7f5f9892f6652359f2330bf6d9b89e17", null ],
+ [ "try_relink_for", "classllfio__v2__xxx_1_1symlink__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc", null ],
+ [ "try_relink_until", "classllfio__v2__xxx_1_1symlink__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20", null ],
+ [ "try_reopen", "classllfio__v2__xxx_1_1symlink__handle.html#ac2b320abbe2e64eb86da427bc7e48f67", null ],
+ [ "try_reopen_for", "classllfio__v2__xxx_1_1symlink__handle.html#ab84e4bb0a339810f8351b491f1525a61", null ],
+ [ "try_reopen_until", "classllfio__v2__xxx_1_1symlink__handle.html#a2aa9a90053f33201b054d79cc0c04d82", null ],
+ [ "try_unlink", "classllfio__v2__xxx_1_1symlink__handle.html#a7f77a249baf4e0c5de2172669a7724d7", null ],
+ [ "try_unlink_for", "classllfio__v2__xxx_1_1symlink__handle.html#a209de025a2d3e202a61c50b52d43f2af", null ],
+ [ "try_unlink_until", "classllfio__v2__xxx_1_1symlink__handle.html#ae9c4133fef23811abcb01e1faf2b19d3", null ],
[ "unique_id", "classllfio__v2__xxx_1_1symlink__handle.html#a9793fe40564fda2437783488bd51b9f1", null ],
[ "unlink", "classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8", null ],
[ "write", "classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447", null ],
- [ "_caching", "classllfio__v2__xxx_1_1symlink__handle.html#affb091ded80ffde7c0c3854e2abc52fd", null ],
[ "_devid", "classllfio__v2__xxx_1_1symlink__handle.html#a4d20a64cf182162a49962ed25d2126b3", null ],
[ "_flags", "classllfio__v2__xxx_1_1symlink__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820", null ],
[ "_inode", "classllfio__v2__xxx_1_1symlink__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa", null ],
diff --git a/classllfio__v2__xxx_1_1unique__file__lock-members.html b/classllfio__v2__xxx_1_1unique__file__lock-members.html
new file mode 100644
index 00000000..1ae74929
--- /dev/null
+++ b/classllfio__v2__xxx_1_1unique__file__lock-members.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1unique__file__lock.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::unique_file_lock Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0">lock</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb">lock_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16">mutex</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(unique_file_lock &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const unique_file_lock &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106">owns_lock</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948">try_lock</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83">try_lock_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_file_lock</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>unique_file_lock</b>(lockable_io_handle &amp;h, lock_kind kind) (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unique_file_lock</b>(unique_file_lock &amp;&amp;o) noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>unique_file_lock</b>(const unique_file_lock &amp;)=delete (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694">unlock</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2">unlock_shared</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~unique_file_lock</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1unique__file__lock.html b/classllfio__v2__xxx_1_1unique__file__lock.html
new file mode 100644
index 00000000..d57a2966
--- /dev/null
+++ b/classllfio__v2__xxx_1_1unique__file__lock.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::unique_file_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1unique__file__lock.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classllfio__v2__xxx_1_1unique__file__lock-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::unique_file_lock Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated.
+ <a href="classllfio__v2__xxx_1_1unique__file__lock.html#details">More...</a></p>
+
+<p><code>#include &quot;lockable_io_handle.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4811cd80ae69eb2d72415bb02447a90d"><td class="memItemLeft" align="right" valign="top"><a id="a4811cd80ae69eb2d72415bb02447a90d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>unique_file_lock</b> (<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> &amp;h, <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> kind)</td></tr>
+<tr class="separator:a4811cd80ae69eb2d72415bb02447a90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26d6f6539cc116675e40fe8aa4aedf6f"><td class="memItemLeft" align="right" valign="top"><a id="a26d6f6539cc116675e40fe8aa4aedf6f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>unique_file_lock</b> (<a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a26d6f6539cc116675e40fe8aa4aedf6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4cb3edf03da4755ac62086708d8d360"><td class="memItemLeft" align="right" valign="top"><a id="af4cb3edf03da4755ac62086708d8d360"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>unique_file_lock</b> (const <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;)=delete</td></tr>
+<tr class="separator:af4cb3edf03da4755ac62086708d8d360"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace176060fd88ebd3ef26427d187855b8"><td class="memItemLeft" align="right" valign="top"><a id="ace176060fd88ebd3ef26427d187855b8"></a>
+<a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:ace176060fd88ebd3ef26427d187855b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbe0708675bc8e1020edaebac8ce88af"><td class="memItemLeft" align="right" valign="top"><a id="acbe0708675bc8e1020edaebac8ce88af"></a>
+<a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a> &amp;)=delete</td></tr>
+<tr class="separator:acbe0708675bc8e1020edaebac8ce88af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac66e90389ea1568453ca7df71db96f16"><td class="memItemLeft" align="right" valign="top"><a id="ac66e90389ea1568453ca7df71db96f16"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16">mutex</a> () const noexcept</td></tr>
+<tr class="memdesc:ac66e90389ea1568453ca7df71db96f16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the associated mutex. <br /></td></tr>
+<tr class="separator:ac66e90389ea1568453ca7df71db96f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab633b6cfaa5122af1ac74da719d6b106"><td class="memItemLeft" align="right" valign="top"><a id="ab633b6cfaa5122af1ac74da719d6b106"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106">owns_lock</a> () const noexcept</td></tr>
+<tr class="memdesc:ab633b6cfaa5122af1ac74da719d6b106"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the associated mutex is owned by this lock. <br /></td></tr>
+<tr class="separator:ab633b6cfaa5122af1ac74da719d6b106"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acfb1ff9fa6f5e5559516411654bbd60b"><td class="memItemLeft" align="right" valign="top"><a id="acfb1ff9fa6f5e5559516411654bbd60b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b">operator bool</a> () const noexcept</td></tr>
+<tr class="memdesc:acfb1ff9fa6f5e5559516411654bbd60b"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the associated mutex is owned by this lock. <br /></td></tr>
+<tr class="separator:acfb1ff9fa6f5e5559516411654bbd60b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28cfecd8e9bae73c721f0e932be4acc1"><td class="memItemLeft" align="right" valign="top"><a id="a28cfecd8e9bae73c721f0e932be4acc1"></a>
+<a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1">release</a> () noexcept</td></tr>
+<tr class="memdesc:a28cfecd8e9bae73c721f0e932be4acc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the mutex from management. <br /></td></tr>
+<tr class="separator:a28cfecd8e9bae73c721f0e932be4acc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0992bf3f3a85f0bc6355a743d37873e0"><td class="memItemLeft" align="right" valign="top"><a id="a0992bf3f3a85f0bc6355a743d37873e0"></a>
+result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0">lock</a> () noexcept</td></tr>
+<tr class="memdesc:a0992bf3f3a85f0bc6355a743d37873e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the mutex for exclusive access. <br /></td></tr>
+<tr class="separator:a0992bf3f3a85f0bc6355a743d37873e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf94a041e73bf0384d5dbfded6c85948"><td class="memItemLeft" align="right" valign="top"><a id="abf94a041e73bf0384d5dbfded6c85948"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948">try_lock</a> () noexcept</td></tr>
+<tr class="memdesc:abf94a041e73bf0384d5dbfded6c85948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to lock the mutex for exclusive access. <br /></td></tr>
+<tr class="separator:abf94a041e73bf0384d5dbfded6c85948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8af367ca1475f4a3c415fd7fff18694"><td class="memItemLeft" align="right" valign="top"><a id="ae8af367ca1475f4a3c415fd7fff18694"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694">unlock</a> () noexcept</td></tr>
+<tr class="memdesc:ae8af367ca1475f4a3c415fd7fff18694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the mutex from exclusive access. <br /></td></tr>
+<tr class="separator:ae8af367ca1475f4a3c415fd7fff18694"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07466cdd59da24bb249cbf46781eb9bb"><td class="memItemLeft" align="right" valign="top"><a id="a07466cdd59da24bb249cbf46781eb9bb"></a>
+result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb">lock_shared</a> () noexcept</td></tr>
+<tr class="memdesc:a07466cdd59da24bb249cbf46781eb9bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the mutex for shared access. <br /></td></tr>
+<tr class="separator:a07466cdd59da24bb249cbf46781eb9bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1ab80cdfbb9bdb4e64ec8b61e4d3a83"><td class="memItemLeft" align="right" valign="top"><a id="aa1ab80cdfbb9bdb4e64ec8b61e4d3a83"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83">try_lock_shared</a> () noexcept</td></tr>
+<tr class="memdesc:aa1ab80cdfbb9bdb4e64ec8b61e4d3a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to lock the mutex for shared access. <br /></td></tr>
+<tr class="separator:aa1ab80cdfbb9bdb4e64ec8b61e4d3a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97a893fe4a3b5356ef26b6b9b80fdce2"><td class="memItemLeft" align="right" valign="top"><a id="a97a893fe4a3b5356ef26b6b9b80fdce2"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2">unlock_shared</a> () noexcept</td></tr>
+<tr class="memdesc:a97a893fe4a3b5356ef26b6b9b80fdce2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the mutex from shared access. <br /></td></tr>
+<tr class="separator:a97a893fe4a3b5356ef26b6b9b80fdce2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1unique__file__lock.js b/classllfio__v2__xxx_1_1unique__file__lock.js
new file mode 100644
index 00000000..27b3592b
--- /dev/null
+++ b/classllfio__v2__xxx_1_1unique__file__lock.js
@@ -0,0 +1,20 @@
+var classllfio__v2__xxx_1_1unique__file__lock =
+[
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#a908422e42d0bcd7a85c137bdbb26a734", null ],
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#a4811cd80ae69eb2d72415bb02447a90d", null ],
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#a26d6f6539cc116675e40fe8aa4aedf6f", null ],
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#af4cb3edf03da4755ac62086708d8d360", null ],
+ [ "~unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#ac36bf06c91beaaa0e0e67ef7d829398b", null ],
+ [ "lock", "classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0", null ],
+ [ "lock_shared", "classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb", null ],
+ [ "mutex", "classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16", null ],
+ [ "operator bool", "classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1unique__file__lock.html#acbe0708675bc8e1020edaebac8ce88af", null ],
+ [ "operator=", "classllfio__v2__xxx_1_1unique__file__lock.html#ace176060fd88ebd3ef26427d187855b8", null ],
+ [ "owns_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106", null ],
+ [ "release", "classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1", null ],
+ [ "try_lock", "classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948", null ],
+ [ "try_lock_shared", "classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83", null ],
+ [ "unlock", "classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694", null ],
+ [ "unlock_shared", "classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2", null ]
+]; \ No newline at end of file
diff --git a/classllfio__v2__xxx_1_1utils_1_1page__allocator-members.html b/classllfio__v2__xxx_1_1utils_1_1page__allocator-members.html
index b70834c4..7ee1a23e 100644
--- a/classllfio__v2__xxx_1_1utils_1_1page__allocator-members.html
+++ b/classllfio__v2__xxx_1_1utils_1_1page__allocator-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -112,7 +114,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1utils_1_1page__allocator.html b/classllfio__v2__xxx_1_1utils_1_1page__allocator.html
index 7514858c..bcaa1196 100644
--- a/classllfio__v2__xxx_1_1utils_1_1page__allocator.html
+++ b/classllfio__v2__xxx_1_1utils_1_1page__allocator.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,7 +92,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__
</div><!--header-->
<div class="contents">
-<p>An STL allocator which allocates large TLB page memory.If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified.
+<p>An STL allocator which allocates large TLB page memory.
<a href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html#details">More...</a></p>
<p><code>#include &quot;utils.hpp&quot;</code></p>
@@ -164,8 +166,8 @@ template&lt;class U &gt; </td></tr>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class llfio_v2_xxx::utils::page_allocator&lt; T &gt;</h3>
-<p>An STL allocator which allocates large TLB page memory.</p>
-<p>If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified. </p>
+<p>An STL allocator which allocates large TLB page memory. </p>
+<p>If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified.</p>
<p>A particularly useful combination with this allocator is with the <code>page_sizes()</code> member function of <b>llfio_dispatcher</b>. This will return which pages sizes are possible, and which page sizes are enabled for this user. If writing a file copy routine for example, using this allocator with the largest page size as the copy chunk makes a great deal of sense.</p>
<p>Be aware that as soon as the allocation exceeds a large page size, most systems allocate in multiples of the large page size, so if the large page size were 2Mb and you allocate 2Mb + 1 byte, 4Mb is actually consumed. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
@@ -179,7 +181,7 @@ class llfio_v2_xxx::utils::page_allocator&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1utils_1_1page__allocator.js b/classllfio__v2__xxx_1_1utils_1_1page__allocator.js
index 0b2f2f6e..15bb3290 100644
--- a/classllfio__v2__xxx_1_1utils_1_1page__allocator.js
+++ b/classllfio__v2__xxx_1_1utils_1_1page__allocator.js
@@ -12,8 +12,8 @@ var classllfio__v2__xxx_1_1utils_1_1page__allocator =
[ "value_type", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a719169e26237ebeeecd9329e2a21d0c3", null ],
[ "page_allocator", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a1246b56d936c565437290594290e4224", null ],
[ "page_allocator", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adc8a4e95efecbf9e176103d9cfa88a2a", null ],
- [ "address", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a", null ],
[ "address", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a14fbf76cf636d64fc7a609b3949c3639", null ],
+ [ "address", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a", null ],
[ "allocate", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ae57116bbdf184521e4307176b119ef0d", null ],
[ "construct", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a044de0369e4922815dd4b0b9b9358596", null ],
[ "deallocate", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2fdf39a4237fa1d2157f2ca8fd7d1d35", null ],
diff --git a/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html b/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html
index 29f535ee..a942d463 100644
--- a/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html
+++ b/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,7 +101,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html b/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html
index 560bafdf..95f98990 100644
--- a/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html
+++ b/classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; void &gt; Class Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; void &gt; Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1utils_1_1page__
<a href="#pub-types">Public Types</a> &#124;
<a href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt; Class Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt; Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
@@ -123,7 +125,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>is_always_equal</b>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">page_allocator&lt; void &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/classllfio__v2__xxx_1_1write__receiver-members.html b/classllfio__v2__xxx_1_1write__receiver-members.html
new file mode 100644
index 00000000..393b22ed
--- /dev/null
+++ b/classllfio__v2__xxx_1_1write__receiver-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1write__receiver.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8">error_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c">io_handle_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8">set_done</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f">set_error</a>(error_type errinfo)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b">set_value</a>(value_type result)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b">value_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1write__receiver.html b/classllfio__v2__xxx_1_1write__receiver.html
new file mode 100644
index 00000000..32e99258
--- /dev/null
+++ b/classllfio__v2__xxx_1_1write__receiver.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::write_receiver&lt; IoHandleType &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1write__receiver.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classllfio__v2__xxx_1_1write__receiver-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt; Class Template Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A C++ Receiver of an i/o write for an i/o type of <code>IoHandleType</code>.
+ <a href="classllfio__v2__xxx_1_1write__receiver.html#details">More...</a></p>
+
+<p><code>#include &quot;multiplex.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aff126bfd475d2ede94d67ca99ff6b14c"><td class="memItemLeft" align="right" valign="top"><a id="aff126bfd475d2ede94d67ca99ff6b14c"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c">io_handle_type</a> = IoHandleType</td></tr>
+<tr class="memdesc:aff126bfd475d2ede94d67ca99ff6b14c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle type this read receiver is for. <br /></td></tr>
+<tr class="separator:aff126bfd475d2ede94d67ca99ff6b14c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70c15c4bc76e1712162c53af9da8a183"><td class="memItemLeft" align="right" valign="top"><a id="a70c15c4bc76e1712162c53af9da8a183"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183">buffers_type</a> = typename io_handle_type::const_buffers_type</td></tr>
+<tr class="memdesc:a70c15c4bc76e1712162c53af9da8a183"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffers type this receiver receives. <br /></td></tr>
+<tr class="separator:a70c15c4bc76e1712162c53af9da8a183"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e418876cc9b1904500c2b4cccd9fe4b"><td class="memItemLeft" align="right" valign="top"><a id="a9e418876cc9b1904500c2b4cccd9fe4b"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b">value_type</a> = typename io_handle_type::io_result&lt; <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183">buffers_type</a> &gt;</td></tr>
+<tr class="memdesc:a9e418876cc9b1904500c2b4cccd9fe4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The successful write result type this receiver receives. <br /></td></tr>
+<tr class="separator:a9e418876cc9b1904500c2b4cccd9fe4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71492bcff7aea9043556ef4f2ed4cce8"><td class="memItemLeft" align="right" valign="top"><a id="a71492bcff7aea9043556ef4f2ed4cce8"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8">error_type</a> = typename value_type::error_type</td></tr>
+<tr class="memdesc:a71492bcff7aea9043556ef4f2ed4cce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The failure result type this receiver receives. <br /></td></tr>
+<tr class="separator:a71492bcff7aea9043556ef4f2ed4cce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a06ee003d9d7f33b6fef79771d641d13b"><td class="memItemLeft" align="right" valign="top"><a id="a06ee003d9d7f33b6fef79771d641d13b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b">set_value</a> (<a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b">value_type</a> result)</td></tr>
+<tr class="memdesc:a06ee003d9d7f33b6fef79771d641d13b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set the result of an i/o write. <br /></td></tr>
+<tr class="separator:a06ee003d9d7f33b6fef79771d641d13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dfa08a7fd74dc74e9f8882e2670bc4f"><td class="memItemLeft" align="right" valign="top"><a id="a1dfa08a7fd74dc74e9f8882e2670bc4f"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f">set_error</a> (<a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8">error_type</a> errinfo)</td></tr>
+<tr class="memdesc:a1dfa08a7fd74dc74e9f8882e2670bc4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set the failure of an i/o write. <br /></td></tr>
+<tr class="separator:a1dfa08a7fd74dc74e9f8882e2670bc4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98252a8d7852b66438cfd543e6eaceb8"><td class="memItemLeft" align="right" valign="top"><a id="a98252a8d7852b66438cfd543e6eaceb8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8">set_done</a> ()</td></tr>
+<tr class="memdesc:a98252a8d7852b66438cfd543e6eaceb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by a Sender to set that an i/o write was cancelled. <br /></td></tr>
+<tr class="separator:a98252a8d7852b66438cfd543e6eaceb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class IoHandleType&gt;<br />
+class llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</h3>
+
+<p>A C++ Receiver of an i/o write for an i/o type of <code>IoHandleType</code>. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/llfio/v2.0/multiplex.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">write_receiver</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/classllfio__v2__xxx_1_1write__receiver.js b/classllfio__v2__xxx_1_1write__receiver.js
new file mode 100644
index 00000000..93fa2de5
--- /dev/null
+++ b/classllfio__v2__xxx_1_1write__receiver.js
@@ -0,0 +1,10 @@
+var classllfio__v2__xxx_1_1write__receiver =
+[
+ [ "buffers_type", "classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183", null ],
+ [ "error_type", "classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8", null ],
+ [ "io_handle_type", "classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c", null ],
+ [ "value_type", "classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b", null ],
+ [ "set_done", "classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8", null ],
+ [ "set_error", "classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f", null ],
+ [ "set_value", "classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b", null ]
+]; \ No newline at end of file
diff --git a/clone_8hpp.html b/clone_8hpp.html
new file mode 100644
index 00000000..b9a68c1e
--- /dev/null
+++ b/clone_8hpp.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/algorithm/clone.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('clone_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">clone.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../file_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="traverse_8hpp.html">traverse.hpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of file system based algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a3c661d6cba0da25fe9e1211ede1fd004"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">llfio_v2_xxx::algorithm::clone_or_copy</a> (file_handle &amp;src, const path_handle &amp;destdir, path_view destleaf={}, bool preserve_timestamps=true, bool force_copy_now=false, file_handle::creation creation=file_handle::creation::always_new, deadline d={}) noexcept</td></tr>
+<tr class="memdesc:a3c661d6cba0da25fe9e1211ede1fd004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone or copy the extents of the filesystem entity identified by <code>src</code> to <code>destdir</code> optionally renamed to <code>destleaf</code>. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">More...</a><br /></td></tr>
+<tr class="separator:a3c661d6cba0da25fe9e1211ede1fd004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a directory tree clone algorithm. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="clone_8hpp.html">clone.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/clone_8hpp.js b/clone_8hpp.js
new file mode 100644
index 00000000..4e161e80
--- /dev/null
+++ b/clone_8hpp.js
@@ -0,0 +1,4 @@
+var clone_8hpp =
+[
+ [ "clone_or_copy", "clone_8hpp.html#a3c661d6cba0da25fe9e1211ede1fd004", null ]
+]; \ No newline at end of file
diff --git a/combining_8hpp.html b/combining_8hpp.html
index eaf08bb8..317aa199 100644
--- a/combining_8hpp.html
+++ b/combining_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/handle_adapter/combining.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('combining_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('combining_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('combining_8hpp.html','');});
<div class="title">combining.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides <code>combining_handle_adapter</code>.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="map__handle_8hpp.html">../../map_handle.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -125,7 +124,7 @@ template&lt;class Target , class Source &gt; </td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_1bdb7a6f6f947180459b1da442728237.html">handle_adapter</a></li><li class="navelem"><a class="el" href="combining_8hpp.html">combining.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/config_8hpp.html b/config_8hpp.html
index c5717ed6..bebdfb41 100644
--- a/config_8hpp.html
+++ b/config_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/config.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('config_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('config_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,9 +92,6 @@ $(document).ready(function(){initNavTree('config_8hpp.html','');});
<div class="title">config.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Configures a compiler environment for LLFIO header and source code.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &quot;quickcpplib/cpp_feature.h&quot;</code><br />
<code>#include &quot;quickcpplib/import.h&quot;</code><br />
@@ -101,15 +100,18 @@ $(document).ready(function(){initNavTree('config_8hpp.html','');});
<code>#include &quot;quickcpplib/utils/thread.hpp&quot;</code><br />
<code>#include &lt;ctime&gt;</code><br />
<code>#include &quot;quickcpplib/bitfield.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/scoped_undo.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/scope.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/span.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/optional.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/byte.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/string_view.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/function_ptr.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/mem_flush_loads_stores.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/start_lifetime_as.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/detach_cast.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/in_place_detach_attach.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/spinlock.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/memory_resource.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -135,7 +137,7 @@ Namespaces</h2></td></tr>
Macros</h2></td></tr>
<tr class="memitem:ga5365e6c96107a8e7edf6030462562cae"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga5365e6c96107a8e7edf6030462562cae">LLFIO_HEADERS_ONLY</a>&#160;&#160;&#160;1</td></tr>
-<tr class="memdesc:ga5365e6c96107a8e7edf6030462562cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether LLFIO is a headers only library. Defaults to 1 unless BOOST_ALL_DYN_LINK is defined. <br /></td></tr>
+<tr class="memdesc:ga5365e6c96107a8e7edf6030462562cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether LLFIO is a headers only library. Defaults to 1. <br /></td></tr>
<tr class="separator:ga5365e6c96107a8e7edf6030462562cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d3346e1345f27d02cfe4ef4d7c9c3a"><td class="memItemLeft" align="right" valign="top"><a id="a65d3346e1345f27d02cfe4ef4d7c9c3a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a">LLFIO_DISABLE_PATHS_IN_FAILURE_INFO</a>&#160;&#160;&#160;not defined</td></tr>
@@ -230,6 +232,13 @@ Macros</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
+<tr class="memitem:a23358ae319d76dd1149a26b04b17796a"><td class="memTemplParams" colspan="2"><a id="a23358ae319d76dd1149a26b04b17796a"></a>
+template&lt;class F , size_t callable_storage_bytes = 32 - sizeof(uintptr_t)&gt; </td></tr>
+<tr class="memitem:a23358ae319d76dd1149a26b04b17796a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::function_ptr</b> = QUICKCPPLIB_NAMESPACE::function_ptr::function_ptr&lt; F, callable_storage_bytes &gt;</td></tr>
+<tr class="separator:a23358ae319d76dd1149a26b04b17796a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a138a48536b1700db01f10e8a371d0a4f"><td class="memItemLeft" align="right" valign="top"><a id="a138a48536b1700db01f10e8a371d0a4f"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::spinlock</b> = QUICKCPPLIB_NAMESPACE::configurable_spinlock::spinlock&lt; uintptr_t &gt;</td></tr>
+<tr class="separator:a138a48536b1700db01f10e8a371d0a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65fb3311b32b8757c3b7ebdd045afe9"><td class="memItemLeft" align="right" valign="top"><a id="af65fb3311b32b8757c3b7ebdd045afe9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::win::handle</b> = void *</td></tr>
<tr class="separator:af65fb3311b32b8757c3b7ebdd045afe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -245,17 +254,9 @@ Functions</h2></td></tr>
<tr class="memitem:a77c52ccdc38be135a374dbb4a7d1d466"><td class="memItemLeft" align="right" valign="top"><a id="a77c52ccdc38be135a374dbb4a7d1d466"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::LLFIO_TEMPLATE</b> (class T) LLFIO_TREQUIRES(LLFIO_TPRED(std</td></tr>
<tr class="separator:a77c52ccdc38be135a374dbb4a7d1d466"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4369189d04a952a93cf182f2c7390412"><td class="memTemplParams" colspan="2"><a id="a4369189d04a952a93cf182f2c7390412"></a>
-template&lt;class R , class U &gt; </td></tr>
-<tr class="memitem:a4369189d04a952a93cf182f2c7390412"><td class="memTemplItemLeft" align="right" valign="top">function_ptr&lt; R &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::make_function_ptr</b> (U &amp;&amp;f)</td></tr>
-<tr class="separator:a4369189d04a952a93cf182f2c7390412"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace72a598b9cabfc3d6f6760895e893fd"><td class="memTemplParams" colspan="2"><a id="ace72a598b9cabfc3d6f6760895e893fd"></a>
-template&lt;class R , class U , class... Args&gt; </td></tr>
-<tr class="memitem:ace72a598b9cabfc3d6f6760895e893fd"><td class="memTemplItemLeft" align="right" valign="top">function_ptr&lt; R &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::emplace_function_ptr</b> (Args &amp;&amp;... args)</td></tr>
-<tr class="separator:ace72a598b9cabfc3d6f6760895e893fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Configures a compiler environment for LLFIO header and source code. </p>
+<div class="textblock"><p>Configures a compiler environment for LLFIO header and source code </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -264,7 +265,7 @@ template&lt;class R , class U , class... Args&gt; </td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="config_8hpp.html">config.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/config_8hpp.js b/config_8hpp.js
index 3bf63268..d88b4994 100644
--- a/config_8hpp.js
+++ b/config_8hpp.js
@@ -29,9 +29,9 @@ var config_8hpp =
[ "LLFIO_V2_NAMESPACE_END", "group__config.html#ga84df5d479525cd6b58f873c2f9869b22", null ],
[ "LLFIO_V2_NAMESPACE_EXPORT_BEGIN", "group__config.html#gab2f82803f0ce479a2993d3b7696db8d3", null ],
[ "dword", "config_8hpp.html#a79085acc20a53afe38d31c1af948301d", null ],
+ [ "function_ptr", "config_8hpp.html#a23358ae319d76dd1149a26b04b17796a", null ],
[ "handle", "config_8hpp.html#af65fb3311b32b8757c3b7ebdd045afe9", null ],
- [ "emplace_function_ptr", "config_8hpp.html#ace72a598b9cabfc3d6f6760895e893fd", null ],
- [ "LLFIO_TEMPLATE", "config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4", null ],
+ [ "spinlock", "config_8hpp.html#a138a48536b1700db01f10e8a371d0a4f", null ],
[ "LLFIO_TEMPLATE", "config_8hpp.html#a77c52ccdc38be135a374dbb4a7d1d466", null ],
- [ "make_function_ptr", "config_8hpp.html#a4369189d04a952a93cf182f2c7390412", null ]
+ [ "LLFIO_TEMPLATE", "config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4", null ]
]; \ No newline at end of file
diff --git a/contents_8hpp.html b/contents_8hpp.html
new file mode 100644
index 00000000..7904ed89
--- /dev/null
+++ b/contents_8hpp.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/algorithm/contents.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('contents_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">contents.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="traverse_8hpp.html">traverse.hpp</a>&quot;</code><br />
+<code>#include &lt;memory&gt;</code><br />
+<code>#include &lt;mutex&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem contents algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerated contents, and what parts of their <code>stat_t</code> is valid. <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of file system based algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="memItemLeft" align="right" valign="top">result&lt; contents_visitor::contents_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">llfio_v2_xxx::algorithm::contents</a> (const path_handle &amp;dirh, contents_visitor *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the contents of everything within and under <code>dirh</code>. What is returned is unordered. <a href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">More...</a><br /></td></tr>
+<tr class="separator:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a directory tree contents algorithm. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="contents_8hpp.html">contents.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/contents_8hpp.js b/contents_8hpp.js
new file mode 100644
index 00000000..5dfc3d75
--- /dev/null
+++ b/contents_8hpp.js
@@ -0,0 +1,7 @@
+var contents_8hpp =
+[
+ [ "contents_visitor", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor" ],
+ [ "contents_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type" ],
+ [ "_state_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type" ],
+ [ "contents", "contents_8hpp.html#afae251fc3bfb7280b47b6135e2f6c7e2", null ]
+]; \ No newline at end of file
diff --git a/deadline_8h.html b/deadline_8h.html
index d9d9116f..83fe3e3e 100644
--- a/deadline_8h.html
+++ b/deadline_8h.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/deadline.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('deadline_8h.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('deadline_8h.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('deadline_8h.html','');});
<div class="title">deadline.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides struct deadline.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;time.h&gt;</code><br />
<code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
@@ -113,11 +112,22 @@ Macros</h2></td></tr>
<tr class="memitem:a8248d979e402cb0538f7f6f2840b55c1"><td class="memItemLeft" align="right" valign="top"><a id="a8248d979e402cb0538f7f6f2840b55c1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LLFIO_DEADLINE_NAME</b>&#160;&#160;&#160;deadline</td></tr>
<tr class="separator:a8248d979e402cb0538f7f6f2840b55c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ad4e75918453ebe2365378d3d04dce0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>LLFIO_DEADLINE_TO_PARTIAL_DEADLINE</b>(nd, d)</td></tr>
+<tr class="memitem:adf76463290984016fdbe2ac4c7c514e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4">LLFIO_DEADLINE_TO_SLEEP_INIT</a>(d)</td></tr>
+<tr class="separator:adf76463290984016fdbe2ac4c7c514e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ad4e75918453ebe2365378d3d04dce0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0">LLFIO_DEADLINE_TO_PARTIAL_DEADLINE</a>(nd, d)</td></tr>
+<tr class="memdesc:a9ad4e75918453ebe2365378d3d04dce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run inside a series of steps to create a sub-deadline from a master deadline. <a href="deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0">More...</a><br /></td></tr>
<tr class="separator:a9ad4e75918453ebe2365378d3d04dce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93c83aa94fad67aa1289d8a2b2d6ed00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00">LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT</a>(timeout, d)</td></tr>
+<tr class="memdesc:a93c83aa94fad67aa1289d8a2b2d6ed00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run inside a series of steps to create a relative timeout from now from a master deadline. <a href="deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00">More...</a><br /></td></tr>
+<tr class="separator:a93c83aa94fad67aa1289d8a2b2d6ed00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add774fdf81fd7e573d42a43fe55757ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba">LLFIO_DEADLINE_TO_TIMEOUT_LOOP</a>(d)</td></tr>
+<tr class="memdesc:add774fdf81fd7e573d42a43fe55757ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run inside a loop to detect if the operation has timed out. <a href="deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba">More...</a><br /></td></tr>
+<tr class="separator:add774fdf81fd7e573d42a43fe55757ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa829fa57d8fc5156dd4358b670cd7c56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>LLFIO_DEADLINE_TRY_FOR_UNTIL</b>(name)</td></tr>
+<tr class="separator:aa829fa57d8fc5156dd4358b670cd7c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides struct deadline. </p>
+<div class="textblock"><p>Provides struct deadline </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a9ad4e75918453ebe2365378d3d04dce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ad4e75918453ebe2365378d3d04dce0">&#9670;&nbsp;</a></span>LLFIO_DEADLINE_TO_PARTIAL_DEADLINE</h2>
@@ -144,7 +154,169 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">if</span>(d) \</div><div class="line"> { \</div><div class="line"> if((d).steady) \</div><div class="line"> { \</div><div class="line"> (nd).steady = <span class="keyword">true</span>; \</div><div class="line"> std::chrono::nanoseconds ns = std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;((began_steady + std::chrono::nanoseconds((d).nsecs)) - std::chrono::steady_clock::now()); \</div><div class="line"> if(ns.count() &lt; 0) \</div><div class="line"> (nd).nsecs = 0; \</div><div class="line"> else \</div><div class="line"> (nd).nsecs = ns.count(); \</div><div class="line"> } \</div><div class="line"> else \</div><div class="line"> (nd) = (d); \</div><div class="line"> }</div></div><!-- fragment -->
+<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">if</span>(d) \</div>
+<div class="line"> { \</div>
+<div class="line"> if((d).steady) \</div>
+<div class="line"> { \</div>
+<div class="line"> (nd).steady = <span class="keyword">true</span>; \</div>
+<div class="line"> std::chrono::nanoseconds ns = \</div>
+<div class="line"> ((d).nsecs != 0) ? \</div>
+<div class="line"> std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;((began_steady + std::chrono::nanoseconds((d).nsecs)) - std::chrono::steady_clock::now()) : \</div>
+<div class="line"> std::chrono::nanoseconds(0); \</div>
+<div class="line"> if(ns.count() &lt; 0) \</div>
+<div class="line"> (nd).nsecs = 0; \</div>
+<div class="line"> else \</div>
+<div class="line"> (nd).nsecs = ns.count(); \</div>
+<div class="line"> } \</div>
+<div class="line"> else \</div>
+<div class="line"> (nd) = (d); \</div>
+<div class="line"> }</div>
+</div><!-- fragment -->
+<p>Run inside a series of steps to create a sub-deadline from a master deadline. </p>
+
+</div>
+</div>
+<a id="a93c83aa94fad67aa1289d8a2b2d6ed00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93c83aa94fad67aa1289d8a2b2d6ed00">&#9670;&nbsp;</a></span>LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">timeout, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line"> { \</div>
+<div class="line"> using timeout_type = std::decay_t&lt;decltype(timeout)&gt;; \</div>
+<div class="line"> timeout = timeout_type(); \</div>
+<div class="line"> if(d) \</div>
+<div class="line"> { \</div>
+<div class="line"> if((d).steady) \</div>
+<div class="line"> { \</div>
+<div class="line"> timeout = ((d).nsecs != 0) ? \</div>
+<div class="line"> std::chrono::duration_cast&lt;timeout_type&gt;((began_steady + std::chrono::nanoseconds((d).nsecs)) - std::chrono::steady_clock::now()) : \</div>
+<div class="line"> timeout_type(0); \</div>
+<div class="line"> } \</div>
+<div class="line"> else \</div>
+<div class="line"> timeout = std::chrono::duration_cast&lt;timeout_type&gt;(d.to_time_point() - std::chrono::system_clock::now()); \</div>
+<div class="line"> if(timeout.count() &lt; 0) \</div>
+<div class="line"> timeout = timeout_type(0); \</div>
+<div class="line"> } \</div>
+<div class="line"> }</div>
+</div><!-- fragment -->
+<p>Run inside a series of steps to create a relative timeout from now from a master deadline. </p>
+
+</div>
+</div>
+<a id="adf76463290984016fdbe2ac4c7c514e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adf76463290984016fdbe2ac4c7c514e4">&#9670;&nbsp;</a></span>LLFIO_DEADLINE_TO_SLEEP_INIT</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LLFIO_DEADLINE_TO_SLEEP_INIT</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d</td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line"> std::chrono::steady_clock::time_point began_steady; \</div>
+<div class="line"> if(d) \</div>
+<div class="line"> { \</div>
+<div class="line"> if((d).steady &amp;&amp; (d).nsecs != 0) \</div>
+<div class="line"> began_steady = std::chrono::steady_clock::now(); \</div>
+<div class="line"> }</div>
+</div><!-- fragment --><p>Defines a number of variables into its scope:</p>
+<ul>
+<li>began_steady: Set to the steady clock at the beginning of a sleep </li>
+</ul>
+
+</div>
+</div>
+<a id="add774fdf81fd7e573d42a43fe55757ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add774fdf81fd7e573d42a43fe55757ba">&#9670;&nbsp;</a></span>LLFIO_DEADLINE_TO_TIMEOUT_LOOP</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LLFIO_DEADLINE_TO_TIMEOUT_LOOP</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d</td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line"> <span class="keywordflow">if</span>(d) \</div>
+<div class="line"> { \</div>
+<div class="line"> if((d).steady) \</div>
+<div class="line"> { \</div>
+<div class="line"> if((d).nsecs == 0 || std::chrono::steady_clock::now() &gt;= (began_steady + std::chrono::nanoseconds((d).nsecs))) \</div>
+<div class="line"> return LLFIO_V2_NAMESPACE::failure(LLFIO_V2_NAMESPACE::errc::timed_out); \</div>
+<div class="line"> } \</div>
+<div class="line"> else \</div>
+<div class="line"> { \</div>
+<div class="line"> LLFIO_V2_NAMESPACE::deadline now(std::chrono::system_clock::now()); \</div>
+<div class="line"> if(now.utc.tv_sec &gt; (d).utc.tv_sec || (now.utc.tv_sec == (d).utc.tv_sec &amp;&amp; now.utc.tv_nsec &gt;= (d).utc.tv_nsec)) \</div>
+<div class="line"> return LLFIO_V2_NAMESPACE::failure(LLFIO_V2_NAMESPACE::errc::timed_out); \</div>
+<div class="line"> } \</div>
+<div class="line"> }</div>
+</div><!-- fragment -->
+<p>Run inside a loop to detect if the operation has timed out. </p>
+
+</div>
+</div>
+<a id="aa829fa57d8fc5156dd4358b670cd7c56"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa829fa57d8fc5156dd4358b670cd7c56">&#9670;&nbsp;</a></span>LLFIO_DEADLINE_TRY_FOR_UNTIL</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LLFIO_DEADLINE_TRY_FOR_UNTIL</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">name</td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">class</span>... Args&gt; <span class="keywordtype">bool</span> try_##name(Args &amp;&amp;... args) noexcept \</div>
+<div class="line"> { \</div>
+<div class="line"> auto r = name(std::forward&lt;Args&gt;(args)..., std::chrono::seconds(0)); \</div>
+<div class="line"> return !!r; \</div>
+<div class="line"> } \</div>
+<div class="line"> template &lt;<span class="keyword">class</span>... Args, <span class="keyword">class </span>Rep, class Period&gt; bool try_##name##_for(Args &amp;&amp;... args, <span class="keyword">const</span> std::chrono::duration&lt;Rep, Period&gt; &amp;duration) noexcept \</div>
+<div class="line"> { \</div>
+<div class="line"> auto r = name(std::forward&lt;Args&gt;(args)..., duration); \</div>
+<div class="line"> return !!r; \</div>
+<div class="line"> } \</div>
+<div class="line"> template &lt;<span class="keyword">class</span>... Args, <span class="keyword">class </span>Clock, class Duration&gt; \</div>
+<div class="line"> bool try_##name##_until(Args &amp;&amp;... args, <span class="keyword">const</span> std::chrono::time_point&lt;Clock, Duration&gt; &amp;timeout) noexcept \</div>
+<div class="line"> { \</div>
+<div class="line"> auto r = name(std::forward&lt;Args&gt;(args)..., timeout); \</div>
+<div class="line"> return !!r; \</div>
+<div class="line"> }</div>
+</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
@@ -155,7 +327,7 @@ Macros</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="deadline_8h.html">deadline.h</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/deadline_8h.js b/deadline_8h.js
index 02adc1ec..69f7b52a 100644
--- a/deadline_8h.js
+++ b/deadline_8h.js
@@ -2,5 +2,9 @@ var deadline_8h =
[
[ "deadline", "structllfio__v2__xxx_1_1deadline.html", "structllfio__v2__xxx_1_1deadline" ],
[ "LLFIO_DEADLINE_NAME", "deadline_8h.html#a8248d979e402cb0538f7f6f2840b55c1", null ],
- [ "LLFIO_DEADLINE_TO_PARTIAL_DEADLINE", "deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0", null ]
+ [ "LLFIO_DEADLINE_TO_PARTIAL_DEADLINE", "deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0", null ],
+ [ "LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT", "deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00", null ],
+ [ "LLFIO_DEADLINE_TO_SLEEP_INIT", "deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4", null ],
+ [ "LLFIO_DEADLINE_TO_TIMEOUT_LOOP", "deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba", null ],
+ [ "LLFIO_DEADLINE_TRY_FOR_UNTIL", "deadline_8h.html#aa829fa57d8fc5156dd4358b670cd7c56", null ]
]; \ No newline at end of file
diff --git a/dir_1bdb7a6f6f947180459b1da442728237.html b/dir_1bdb7a6f6f947180459b1da442728237.html
index f2f4bec8..e419cfb4 100644
--- a/dir_1bdb7a6f6f947180459b1da442728237.html
+++ b/dir_1bdb7a6f6f947180459b1da442728237.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/handle_adapter Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_1bdb7a6f6f947180459b1da442728237.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_1bdb7a6f6f947180459b1da442728237.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,13 +90,10 @@ $(document).ready(function(){initNavTree('dir_1bdb7a6f6f947180459b1da442728237.h
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:cached__parent_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cached__parent_8hpp.html">cached_parent.hpp</a></td></tr>
-<tr class="memdesc:cached__parent_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapts any <code>fs_handle</code> to cache its parent directory handle. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:combining_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="combining_8hpp.html">combining.hpp</a></td></tr>
-<tr class="memdesc:combining_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides <code>combining_handle_adapter</code>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:xor_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xor_8hpp.html">xor.hpp</a></td></tr>
-<tr class="memdesc:xor_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides <code>xor_handle_adapter</code>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -105,7 +104,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_1bdb7a6f6f947180459b1da442728237.html">handle_adapter</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_2e3f7bf739bad988e6850471c071ba11.html b/dir_2e3f7bf739bad988e6850471c071ba11.html
index 989871ce..b9794d76 100644
--- a/dir_2e3f7bf739bad988e6850471c071ba11.html
+++ b/dir_2e3f7bf739bad988e6850471c071ba11.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_2e3f7bf739bad988e6850471c071ba11.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_2e3f7bf739bad988e6850471c071ba11.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,8 +92,17 @@ Directories</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
+<tr class="memitem:clone_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clone_8hpp.html">clone.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:contents_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="contents_8hpp.html">contents.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:reduce_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reduce_8hpp.html">reduce.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:summarize_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="summarize_8hpp.html">summarize.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:traverse_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="traverse_8hpp.html">traverse.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:trivial__vector_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="trivial__vector_8hpp.html">trivial_vector.hpp</a></td></tr>
-<tr class="memdesc:trivial__vector_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides constant time reallocating STL vector. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -102,7 +113,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_2e3f7bf739bad988e6850471c071ba11.js b/dir_2e3f7bf739bad988e6850471c071ba11.js
index 135ce764..db2addf8 100644
--- a/dir_2e3f7bf739bad988e6850471c071ba11.js
+++ b/dir_2e3f7bf739bad988e6850471c071ba11.js
@@ -2,5 +2,10 @@ var dir_2e3f7bf739bad988e6850471c071ba11 =
[
[ "handle_adapter", "dir_1bdb7a6f6f947180459b1da442728237.html", "dir_1bdb7a6f6f947180459b1da442728237" ],
[ "shared_fs_mutex", "dir_e5b117e9e5b89263e91174673bb00c84.html", "dir_e5b117e9e5b89263e91174673bb00c84" ],
+ [ "clone.hpp", "clone_8hpp.html", "clone_8hpp" ],
+ [ "contents.hpp", "contents_8hpp.html", "contents_8hpp" ],
+ [ "reduce.hpp", "reduce_8hpp.html", "reduce_8hpp" ],
+ [ "summarize.hpp", "summarize_8hpp.html", "summarize_8hpp" ],
+ [ "traverse.hpp", "traverse_8hpp.html", "traverse_8hpp" ],
[ "trivial_vector.hpp", "trivial__vector_8hpp.html", "trivial__vector_8hpp" ]
]; \ No newline at end of file
diff --git a/dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html b/dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html
index 2e989c91..d9786366 100644
--- a/dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html
+++ b/dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -91,10 +93,8 @@ Directories</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:llfio_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="llfio_8hpp.html">llfio.hpp</a></td></tr>
-<tr class="memdesc:llfio_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">The master <em>latest version</em> LLFIO include file. All LLFIO consuming libraries should include this header only. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:version_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="version_8hpp.html">version.hpp</a></td></tr>
-<tr class="memdesc:version_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the version of LLFIO for cmake, shared library and C++ namespace mangling. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -105,7 +105,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_c1befcc047da237f65397416de160f2e.html b/dir_c1befcc047da237f65397416de160f2e.html
index 88b43ed8..2bd858fd 100644
--- a/dir_c1befcc047da237f65397416de160f2e.html
+++ b/dir_c1befcc047da237f65397416de160f2e.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/kvstore Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_c1befcc047da237f65397416de160f2e.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_c1befcc047da237f65397416de160f2e.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,7 +90,6 @@ $(document).ready(function(){initNavTree('dir_c1befcc047da237f65397416de160f2e.h
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:kvstore_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kvstore_8hpp.html">kvstore.hpp</a></td></tr>
-<tr class="memdesc:kvstore_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the abstract interface for a key-value store. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -99,7 +100,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_c1befcc047da237f65397416de160f2e.html">kvstore</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html
index cf5bf97b..d133d77c 100644
--- a/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_d44c64559bbebec7f509842c48db8b23.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_d44c64559bbebec7f509842c48db8b23.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ Directories</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_e5b117e9e5b89263e91174673bb00c84.html b/dir_e5b117e9e5b89263e91174673bb00c84.html
index 87e623f1..83706140 100644
--- a/dir_e5b117e9e5b89263e91174673bb00c84.html
+++ b/dir_e5b117e9e5b89263e91174673bb00c84.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_e5b117e9e5b89263e91174673bb00c84.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_e5b117e9e5b89263e91174673bb00c84.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,22 +90,16 @@ $(document).ready(function(){initNavTree('dir_e5b117e9e5b89263e91174673bb00c84.h
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:atomic__append_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="atomic__append_8hpp.html">atomic_append.hpp</a></td></tr>
-<tr class="memdesc:atomic__append_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::atomic_append. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:base_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base_8hpp.html">base.hpp</a></td></tr>
-<tr class="memdesc:base_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::shared_fs_mutex. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:byte__ranges_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="byte__ranges_8hpp.html">byte_ranges.hpp</a></td></tr>
-<tr class="memdesc:byte__ranges_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::byte_ranges. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:lock__files_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock__files_8hpp.html">lock_files.hpp</a></td></tr>
-<tr class="memdesc:lock__files_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::lock_files. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:memory__map_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory__map_8hpp.html">memory_map.hpp</a></td></tr>
-<tr class="memdesc:memory__map_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::memory_map. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:safe__byte__ranges_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="safe__byte__ranges_8hpp.html">safe_byte_ranges.hpp</a></td></tr>
-<tr class="memdesc:safe__byte__ranges_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides algorithm::shared_fs_mutex::safe_byte_ranges. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -114,7 +110,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_ff8d8ad368a820031e12dd9b12d79036.html b/dir_ff8d8ad368a820031e12dd9b12d79036.html
index 12b37583..ad20c2fa 100644
--- a/dir_ff8d8ad368a820031e12dd9b12d79036.html
+++ b/dir_ff8d8ad368a820031e12dd9b12d79036.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0 Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('dir_ff8d8ad368a820031e12dd9b12d79036.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('dir_ff8d8ad368a820031e12dd9b12d79036.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,74 +92,53 @@ Directories</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
-<tr class="memitem:async__file__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></td></tr>
-<tr class="memdesc:async__file__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides async_file_handle. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:config_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config_8hpp.html">config.hpp</a></td></tr>
-<tr class="memdesc:config_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures a compiler environment for LLFIO header and source code. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:deadline_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="deadline_8h.html">deadline.h</a></td></tr>
-<tr class="memdesc:deadline_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides struct deadline. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:directory__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="directory__handle_8hpp.html">directory_handle.hpp</a></td></tr>
-<tr class="memdesc:directory__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a handle to a directory. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:fast__random__file__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fast__random__file__handle_8hpp.html">fast_random_file_handle.hpp</a></td></tr>
-<tr class="memdesc:fast__random__file__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides <code>fast_random_file_handle</code>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:file__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="file__handle_8hpp.html">file_handle.hpp</a></td></tr>
-<tr class="memdesc:file__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides file_handle. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:fs__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fs__handle_8hpp.html">fs_handle.hpp</a></td></tr>
-<tr class="memdesc:fs__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides fs_handle. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="handle_8hpp.html">handle.hpp</a></td></tr>
-<tr class="memdesc:handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides handle. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:io__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></td></tr>
-<tr class="memdesc:io__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides i/o handle. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:io__service_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__service_8hpp.html">io_service.hpp</a></td></tr>
-<tr class="memdesc:io__service_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides io_service. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:v2_80_2llfio_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="v2_80_2llfio_8hpp.html">llfio.hpp</a></td></tr>
-<tr class="memdesc:v2_80_2llfio_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">The master <em>versioned</em> LLFIO include file. All version specific LLFIO consuming libraries should include this header only. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:lockable__io__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:map__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></td></tr>
-<tr class="memdesc:map__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides <code>map_handle</code> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mapped_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mapped_8hpp.html">mapped.hpp</a></td></tr>
-<tr class="memdesc:mapped_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides typed view of mapped section. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mapped__file__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mapped__file__handle_8hpp.html">mapped_file_handle.hpp</a></td></tr>
-<tr class="memdesc:mapped__file__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides mapped_file_handle. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:native__handle__type_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__handle__type_8hpp.html">native_handle_type.hpp</a></td></tr>
-<tr class="memdesc:native__handle__type_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides native_handle_type. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:path__discovery_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path__discovery_8hpp.html">path_discovery.hpp</a></td></tr>
-<tr class="memdesc:path__discovery_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides <code>path_discovery</code> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:path__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path__handle_8hpp.html">path_handle.hpp</a></td></tr>
-<tr class="memdesc:path__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a handle to a filesystem location. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:path__view_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path__view_8hpp.html">path_view.hpp</a></td></tr>
-<tr class="memdesc:path__view_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides view of a path. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pipe__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pipe__handle_8hpp.html">pipe_handle.hpp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:process__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="process__handle_8hpp.html">process_handle.hpp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:stat_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stat_8hpp.html">stat.hpp</a></td></tr>
-<tr class="memdesc:stat_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides stat. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:statfs_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="statfs_8hpp.html">statfs.hpp</a></td></tr>
-<tr class="memdesc:statfs_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides statfs. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:storage__profile_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="storage__profile_8hpp.html">storage_profile.hpp</a></td></tr>
-<tr class="memdesc:storage__profile_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides storage_profile. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:symlink__handle_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="symlink__handle_8hpp.html">symlink_handle.hpp</a></td></tr>
-<tr class="memdesc:symlink__handle_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a handle to a symbolic link. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:utils_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8hpp.html">utils.hpp</a></td></tr>
-<tr class="memdesc:utils_8hpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides namespace utils. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
@@ -168,7 +149,7 @@ Files</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/dir_ff8d8ad368a820031e12dd9b12d79036.js b/dir_ff8d8ad368a820031e12dd9b12d79036.js
index c883eb8e..65f032f4 100644
--- a/dir_ff8d8ad368a820031e12dd9b12d79036.js
+++ b/dir_ff8d8ad368a820031e12dd9b12d79036.js
@@ -1,7 +1,6 @@
var dir_ff8d8ad368a820031e12dd9b12d79036 =
[
[ "algorithm", "dir_2e3f7bf739bad988e6850471c071ba11.html", "dir_2e3f7bf739bad988e6850471c071ba11" ],
- [ "async_file_handle.hpp", "async__file__handle_8hpp.html", "async__file__handle_8hpp" ],
[ "config.hpp", "config_8hpp.html", "config_8hpp" ],
[ "deadline.h", "deadline_8h.html", "deadline_8h" ],
[ "directory_handle.hpp", "directory__handle_8hpp.html", "directory__handle_8hpp" ],
@@ -14,8 +13,8 @@ var dir_ff8d8ad368a820031e12dd9b12d79036 =
[ "fs_handle.hpp", "fs__handle_8hpp.html", "fs__handle_8hpp" ],
[ "handle.hpp", "handle_8hpp.html", "handle_8hpp" ],
[ "io_handle.hpp", "io__handle_8hpp.html", "io__handle_8hpp" ],
- [ "io_service.hpp", "io__service_8hpp.html", "io__service_8hpp" ],
[ "llfio.hpp", "v2_80_2llfio_8hpp.html", "v2_80_2llfio_8hpp" ],
+ [ "lockable_io_handle.hpp", "lockable__io__handle_8hpp.html", "lockable__io__handle_8hpp" ],
[ "map_handle.hpp", "map__handle_8hpp.html", "map__handle_8hpp" ],
[ "mapped.hpp", "mapped_8hpp.html", [
[ "mapped", "classllfio__v2__xxx_1_1mapped.html", "classllfio__v2__xxx_1_1mapped" ]
@@ -27,13 +26,15 @@ var dir_ff8d8ad368a820031e12dd9b12d79036 =
[ "path_discovery.hpp", "path__discovery_8hpp.html", "path__discovery_8hpp" ],
[ "path_handle.hpp", "path__handle_8hpp.html", "path__handle_8hpp" ],
[ "path_view.hpp", "path__view_8hpp.html", "path__view_8hpp" ],
+ [ "pipe_handle.hpp", "pipe__handle_8hpp.html", [
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html", "classllfio__v2__xxx_1_1pipe__handle" ],
+ [ "construct< pipe_handle >", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4" ]
+ ] ],
+ [ "process_handle.hpp", "process__handle_8hpp.html", "process__handle_8hpp" ],
[ "stat.hpp", "stat_8hpp.html", [
[ "stat_t", "structllfio__v2__xxx_1_1stat__t.html", "structllfio__v2__xxx_1_1stat__t" ]
] ],
- [ "statfs.hpp", "statfs_8hpp.html", [
- [ "statfs_t", "structllfio__v2__xxx_1_1statfs__t.html", "structllfio__v2__xxx_1_1statfs__t" ],
- [ "f_flags_t", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t" ]
- ] ],
+ [ "statfs.hpp", "statfs_8hpp.html", "statfs_8hpp" ],
[ "storage_profile.hpp", "storage__profile_8hpp.html", "storage__profile_8hpp" ],
[ "symlink_handle.hpp", "symlink__handle_8hpp.html", "symlink__handle_8hpp" ],
[ "utils.hpp", "utils_8hpp.html", "utils_8hpp" ]
diff --git a/directory__handle_8hpp.html b/directory__handle_8hpp.html
index b007f4d9..98d0941e 100644
--- a/directory__handle_8hpp.html
+++ b/directory__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/directory_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('directory__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('directory__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('directory__handle_8hpp.html','');});
<div class="title">directory_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides a handle to a directory.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="path__discovery_8hpp.html">path_discovery.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stat_8hpp.html">stat.hpp</a>&quot;</code><br />
<code>#include &lt;memory&gt;</code><br />
@@ -131,8 +130,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:a2fd0d67b7d28699d16f6a3666a62a5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d112d170c1d485e1120de06eef02375"><td class="memItemLeft" align="right" valign="top">result&lt; directory_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a> (const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
<tr class="separator:a3d112d170c1d485e1120de06eef02375"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad574b7ae82e4a082a7d5703097d65e92"><td class="memItemLeft" align="right" valign="top">result&lt; directory_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">llfio_v2_xxx::random_directory</a> (const path_handle &amp;dirpath, directory_handle::mode _mode=directory_handle::mode::write, directory_handle::caching _caching=directory_handle::caching::temporary, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ad574b7ae82e4a082a7d5703097d65e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba506997f2999cabbe0a7bd2a1d3b6e0"><td class="memItemLeft" align="right" valign="top">result&lt; directory_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">llfio_v2_xxx::uniquely_named_directory</a> (const path_handle &amp;dirpath, directory_handle::mode _mode=directory_handle::mode::write, directory_handle::caching _caching=directory_handle::caching::temporary, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
+<tr class="separator:aba506997f2999cabbe0a7bd2a1d3b6e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addbdc12d4993a8ee40c105a02a105a61"><td class="memItemLeft" align="right" valign="top">result&lt; directory_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">llfio_v2_xxx::temp_directory</a> (directory_handle::path_view_type name=directory_handle::path_view_type(), directory_handle::mode _mode=directory_handle::mode::write, directory_handle::creation _creation=directory_handle::creation::if_needed, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
<tr class="separator:addbdc12d4993a8ee40c105a02a105a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -146,7 +145,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="directory__handle_8hpp.html">directory_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/directory__handle_8hpp.js b/directory__handle_8hpp.js
index c8bdcefc..de4992d9 100644
--- a/directory__handle_8hpp.js
+++ b/directory__handle_8hpp.js
@@ -6,9 +6,9 @@ var directory__handle_8hpp =
[ "io_request", "structllfio__v2__xxx_1_1directory__handle_1_1io__request.html", "structllfio__v2__xxx_1_1directory__handle_1_1io__request" ],
[ "construct< directory_handle >", "structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4" ],
[ "directory", "directory__handle_8hpp.html#a3d112d170c1d485e1120de06eef02375", null ],
- [ "operator<<", "directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724", null ],
[ "operator<<", "directory__handle_8hpp.html#ae5dd820167e77b7caf7ec921f0c6e8c9", null ],
- [ "random_directory", "directory__handle_8hpp.html#ad574b7ae82e4a082a7d5703097d65e92", null ],
+ [ "operator<<", "directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724", null ],
[ "swap", "directory__handle_8hpp.html#a2fd0d67b7d28699d16f6a3666a62a5bf", null ],
- [ "temp_directory", "directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61", null ]
+ [ "temp_directory", "directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61", null ],
+ [ "uniquely_named_directory", "directory__handle_8hpp.html#aba506997f2999cabbe0a7bd2a1d3b6e0", null ]
]; \ No newline at end of file
diff --git a/doxygen.css b/doxygen.css
index 4f1ab919..73ecbb2c 100644
--- a/doxygen.css
+++ b/doxygen.css
@@ -1,4 +1,4 @@
-/* The standard CSS for doxygen 1.8.13 */
+/* The standard CSS for doxygen 1.8.17 */
body, table, div, p, dl {
font: 400 14px/22px Roboto,sans-serif;
@@ -53,17 +53,24 @@ dt {
font-weight: bold;
}
-div.multicol {
+ul.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
+ column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
+ column-count: 3;
}
p.startli, p.startdd {
margin-top: 2px;
}
+th p.starttd, p.intertd, p.endtd {
+ font-size: 100%;
+ font-weight: 700;
+}
+
p.starttd {
margin-top: 0px;
}
@@ -80,6 +87,15 @@ p.endtd {
margin-bottom: 2px;
}
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
/* @end */
caption {
@@ -134,12 +150,12 @@ a.qindex {
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
- color: #ffffff;
+ color: #FFFFFF;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
- color: #ffffff;
+ color: #FFFFFF;
}
a.el {
@@ -163,6 +179,25 @@ dl.el {
margin-left: -1cm;
}
+ul {
+ overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+}
+
+#side-nav ul {
+ overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+ overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+ text-align: left;
+ direction: ltr;
+ overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+ overflow-y: hidden;
+}
+
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
@@ -177,8 +212,8 @@ pre.fragment {
}
div.fragment {
- padding: 0px;
- margin: 4px 8px 4px 2px;
+ padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+ margin: 4px 8px 4px 2px;
background-color: #FBFCFD;
border: 1px solid #C4CFE5;
}
@@ -248,7 +283,7 @@ span.lineno a:hover {
div.ah, span.ah {
background-color: black;
font-weight: bold;
- color: #ffffff;
+ color: #FFFFFF;
margin-bottom: 3px;
margin-top: 3px;
padding: 0.2em;
@@ -324,7 +359,7 @@ img.formulaDsp {
}
-img.formulaInl {
+img.formulaInl, img.inline {
vertical-align: middle;
}
@@ -402,6 +437,13 @@ blockquote {
padding: 0 12px 0 16px;
}
+blockquote.DocNodeRTL {
+ border-left: 0;
+ border-right: 2px solid #9CAFD4;
+ margin: 0 4px 0 24px;
+ padding: 0 16px 0 12px;
+}
+
/* @end */
/*
@@ -498,7 +540,7 @@ table.memberdecls {
white-space: nowrap;
}
-.memItemRight {
+.memItemRight, .memTemplItemRight {
width: 100%;
}
@@ -666,17 +708,17 @@ dl.reflist dd {
padding-left: 0px;
}
-.params .paramname, .retval .paramname {
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
font-weight: bold;
vertical-align: top;
}
-.params .paramtype {
+.params .paramtype, .tparams .paramtype {
font-style: italic;
vertical-align: top;
}
-.params .paramdir {
+.params .paramdir, .tparams .paramdir {
font-family: "courier new",courier,monospace;
vertical-align: top;
}
@@ -1081,72 +1123,143 @@ div.headertitle
padding: 5px 5px 5px 10px;
}
-dl
-{
- padding: 0 0 0 10px;
+.PageDocRTL-title div.headertitle {
+ text-align: right;
+ direction: rtl;
}
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
+dl {
+ padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
margin-left: 0px;
padding-left: 0px;
}
-dl.note
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #D0C000;
+dl.section.DocNodeRTL {
+ margin-right: 0px;
+ padding-right: 0px;
}
-dl.warning, dl.attention
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #FF0000;
+dl.note {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #D0C000;
}
-dl.pre, dl.post, dl.invariant
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #00D000;
+dl.note.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #FF0000;
}
-dl.deprecated
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #505050;
+dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #FF0000;
}
-dl.todo
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #00C0E0;
+dl.pre, dl.post, dl.invariant {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00D000;
}
-dl.test
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #3030E0;
+dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #00D000;
}
-dl.bug
-{
- margin-left:-7px;
- padding-left: 3px;
- border-left:4px solid;
- border-color: #C08050;
+dl.deprecated {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #505050;
+}
+
+dl.deprecated.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #505050;
+}
+
+dl.todo {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00C0E0;
+}
+
+dl.todo.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #3030E0;
+}
+
+dl.test.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #C08050;
+}
+
+dl.bug.DocNodeRTL {
+ margin-left: 0;
+ padding-left: 0;
+ border-left: 0;
+ margin-right: -7px;
+ padding-right: 3px;
+ border-right: 4px solid;
+ border-color: #C08050;
}
dl.section dd {
@@ -1263,6 +1376,11 @@ div.toc {
width: 200px;
}
+.PageDocRTL-title div.toc {
+ float: left !important;
+ text-align: right;
+}
+
div.toc li {
background: url("bdwn.png") no-repeat scroll 0 5px transparent;
font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
@@ -1271,6 +1389,12 @@ div.toc li {
padding-top: 2px;
}
+.PageDocRTL-title div.toc li {
+ background-position-x: right !important;
+ padding-left: 0 !important;
+ padding-right: 10px;
+}
+
div.toc h3 {
font: bold 12px/1.2 Arial,FreeSans,sans-serif;
color: #4665A2;
@@ -1300,6 +1424,26 @@ div.toc li.level4 {
margin-left: 45px;
}
+.PageDocRTL-title div.toc li.level1 {
+ margin-left: 0 !important;
+ margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+ margin-left: 0 !important;
+ margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+ margin-left: 0 !important;
+ margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+ margin-left: 0 !important;
+ margin-right: 45px;
+}
+
.inherit_header {
font-weight: bold;
color: gray;
@@ -1413,7 +1557,7 @@ tr.heading h2 {
}
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
- border-top-color: #ffffff;
+ border-top-color: #FFFFFF;
border-width: 10px;
margin: 0px -10px;
}
@@ -1441,7 +1585,7 @@ tr.heading h2 {
}
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
- border-bottom-color: #ffffff;
+ border-bottom-color: #FFFFFF;
border-width: 10px;
margin: 0px -10px;
}
@@ -1468,7 +1612,7 @@ tr.heading h2 {
left: 100%;
}
#powerTip.e:after {
- border-left-color: #ffffff;
+ border-left-color: #FFFFFF;
border-width: 10px;
top: 50%;
margin-top: -10px;
@@ -1484,7 +1628,7 @@ tr.heading h2 {
right: 100%;
}
#powerTip.w:after {
- border-right-color: #ffffff;
+ border-right-color: #FFFFFF;
border-width: 10px;
top: 50%;
margin-top: -10px;
@@ -1592,5 +1736,36 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter {
text-align: center
}
+.DocNodeRTL {
+ text-align: right;
+ direction: rtl;
+}
+
+.DocNodeLTR {
+ text-align: left;
+ direction: ltr;
+}
+
+table.DocNodeRTL {
+ width: auto;
+ margin-right: 0;
+ margin-left: auto;
+}
+table.DocNodeLTR {
+ width: auto;
+ margin-right: auto;
+ margin-left: 0;
+}
+
+tt, code, kbd, samp
+{
+ display: inline-block;
+ direction:ltr;
+}
/* @end */
+
+u {
+ text-decoration: underline;
+}
+
diff --git a/dynsections.js b/dynsections.js
index 85e18369..ea0a7b39 100644
--- a/dynsections.js
+++ b/dynsections.js
@@ -1,3 +1,26 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2017 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this file
+ */
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
@@ -15,7 +38,7 @@ function toggleVisibility(linkObj)
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
+ }
return false;
}
@@ -94,4 +117,4 @@ function toggleInherit(id)
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
-
+/* @license-end */
diff --git a/fast__random__file__handle_8hpp.html b/fast__random__file__handle_8hpp.html
index cfa3d930..2b25800b 100644
--- a/fast__random__file__handle_8hpp.html
+++ b/fast__random__file__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/fast_random_file_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('fast__random__file__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('fast__random__file__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('fast__random__file__handle_8hpp.html',
<div class="title">fast_random_file_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides <code>fast_random_file_handle</code>.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
</div><table class="memberdecls">
@@ -120,7 +119,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="fast__random__file__handle_8hpp.html">fast_random_file_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/file__handle_8hpp.html b/file__handle_8hpp.html
index b33c7d34..eb6d2672 100644
--- a/file__handle_8hpp.html
+++ b/file__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/file_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('file__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('file__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,20 +90,17 @@ $(document).ready(function(){initNavTree('file__handle_8hpp.html','');});
<div class="title">file_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides file_handle.
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a>&quot;</code><br />
+<div class="textblock"><code>#include &quot;<a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="path__discovery_8hpp.html">path_discovery.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp.html">utils.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a regular file or device, kept data layout compatible with async_file_handle. <a href="classllfio__v2__xxx_1_1file__handle.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a regular file or device. <a href="classllfio__v2__xxx_1_1file__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html">llfio_v2_xxx::file_handle::extent_guard</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: RAII holder a locked extent of bytes in a file. <a href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pair of valid extents. <a href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html">llfio_v2_xxx::construct&lt; file_handle &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>file_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#details">More...</a><br /></td></tr>
@@ -121,28 +120,30 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:a2542466a055a0c024dee2704e9e32519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af31a062639499a79ef5cc8aed16ba65d"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a> (const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
<tr class="separator:af31a062639499a79ef5cc8aed16ba65d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5bc9df0fdb554e757d14cf40af0bbb4e"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx::random_file</a> (const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:a5bc9df0fdb554e757d14cf40af0bbb4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d9582bf6887848cd9fc363a282a1c21"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">llfio_v2_xxx::uniquely_named_file</a> (const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
+<tr class="separator:a5d9582bf6887848cd9fc363a282a1c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d9ef3b988a880d171015b754bb7b27"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">llfio_v2_xxx::temp_file</a> (file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a70d9ef3b988a880d171015b754bb7b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d9dc908fe39f9c896e99f6b7a39d81"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx::temp_inode</a> (const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
<tr class="separator:ac8d9dc908fe39f9c896e99f6b7a39d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af678f58d20e1f0962ff0744150342683"><td class="memItemLeft" align="right" valign="top">file_handle::io_result&lt; file_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a> (file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</td></tr>
+<tr class="memitem:af678f58d20e1f0962ff0744150342683"><td class="memItemLeft" align="right" valign="top"><a id="af678f58d20e1f0962ff0744150342683"></a>
+file_handle::io_result&lt; file_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a> (file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</td></tr>
+<tr class="memdesc:af678f58d20e1f0962ff0744150342683"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:af678f58d20e1f0962ff0744150342683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1759f4cee184d433f4446a39ff8bfa02"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02">llfio_v2_xxx::maximum_extent</a> (const file_handle &amp;self) noexcept</td></tr>
<tr class="separator:a1759f4cee184d433f4446a39ff8bfa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16ee1bea5a5791ecde266420e00fba81"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81">llfio_v2_xxx::truncate</a> (file_handle &amp;self, file_handle::extent_type newsize) noexcept</td></tr>
<tr class="separator:a16ee1bea5a5791ecde266420e00fba81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="memItemLeft" align="right" valign="top"><a id="a6f9a72b547dc542401a2d17b1c1e2e15"></a>
-result&lt; std::vector&lt; std::pair&lt; file_handle::extent_type, file_handle::extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15">llfio_v2_xxx::extents</a> (const file_handle &amp;self) noexcept</td></tr>
-<tr class="memdesc:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <br /></td></tr>
-<tr class="separator:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4f1cfcc3469ace25264a09770b0cdef"><td class="memItemLeft" align="right" valign="top"><a id="ad4f1cfcc3469ace25264a09770b0cdef"></a>
+result&lt; std::vector&lt; file_handle::extent_pair &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef">llfio_v2_xxx::extents</a> (const file_handle &amp;self) noexcept</td></tr>
+<tr class="memdesc:ad4f1cfcc3469ace25264a09770b0cdef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <br /></td></tr>
+<tr class="separator:ad4f1cfcc3469ace25264a09770b0cdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e">llfio_v2_xxx::zero</a> (file_handle &amp;self, file_handle::extent_type offset, file_handle::extent_type bytes, deadline d=deadline()) noexcept</td></tr>
<tr class="memdesc:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e">More...</a><br /></td></tr>
<tr class="separator:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides file_handle. </p>
+<div class="textblock"><p>Provides file_handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -151,7 +152,7 @@ result&lt; std::vector&lt; std::pair&lt; file_handle::extent_type, file_handle::
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="file__handle_8hpp.html">file_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/file__handle_8hpp.js b/file__handle_8hpp.js
index f40331d5..833ff049 100644
--- a/file__handle_8hpp.js
+++ b/file__handle_8hpp.js
@@ -1,16 +1,16 @@
var file__handle_8hpp =
[
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html", "classllfio__v2__xxx_1_1file__handle" ],
- [ "extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard" ],
+ [ "extent_pair", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair" ],
[ "construct< file_handle >", "structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01file__handle_01_4" ],
- [ "extents", "file__handle_8hpp.html#a6f9a72b547dc542401a2d17b1c1e2e15", null ],
+ [ "extents", "file__handle_8hpp.html#ad4f1cfcc3469ace25264a09770b0cdef", null ],
[ "file", "file__handle_8hpp.html#af31a062639499a79ef5cc8aed16ba65d", null ],
[ "maximum_extent", "file__handle_8hpp.html#a1759f4cee184d433f4446a39ff8bfa02", null ],
- [ "random_file", "file__handle_8hpp.html#a5bc9df0fdb554e757d14cf40af0bbb4e", null ],
[ "read", "file__handle_8hpp.html#af678f58d20e1f0962ff0744150342683", null ],
[ "swap", "file__handle_8hpp.html#a2542466a055a0c024dee2704e9e32519", null ],
[ "temp_file", "file__handle_8hpp.html#a70d9ef3b988a880d171015b754bb7b27", null ],
[ "temp_inode", "file__handle_8hpp.html#ac8d9dc908fe39f9c896e99f6b7a39d81", null ],
[ "truncate", "file__handle_8hpp.html#a16ee1bea5a5791ecde266420e00fba81", null ],
+ [ "uniquely_named_file", "file__handle_8hpp.html#a5d9582bf6887848cd9fc363a282a1c21", null ],
[ "zero", "file__handle_8hpp.html#ad0fb15649a46da0d75b5797bfda8dc2e", null ]
]; \ No newline at end of file
diff --git a/files.html b/files.html
index d5375f08..6c4331b9 100644
--- a/files.html
+++ b/files.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('files.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('files.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,47 +90,53 @@ $(document).ready(function(){initNavTree('files.html','');});
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span><span onclick="javascript:toggleLevel(6);">6</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_c1befcc047da237f65397416de160f2e.html" target="_self">kvstore</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="kvstore_8hpp.html" target="_self">kvstore.hpp</a></td><td class="desc">Provides the abstract interface for a key-value store </td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="kvstore_8hpp.html" target="_self">kvstore.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html" target="_self">llfio</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">&#9660;</span><span id="img_0_1_0_" class="iconfopen" onclick="toggleFolder('0_1_0_')">&#160;</span><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html" target="_self">v2.0</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_1_0_0_" class="arrow" onclick="toggleFolder('0_1_0_0_')">&#9660;</span><span id="img_0_1_0_0_" class="iconfopen" onclick="toggleFolder('0_1_0_0_')">&#160;</span><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html" target="_self">algorithm</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_1_0_0_0_" class="arrow" onclick="toggleFolder('0_1_0_0_0_')">&#9660;</span><span id="img_0_1_0_0_0_" class="iconfopen" onclick="toggleFolder('0_1_0_0_0_')">&#160;</span><a class="el" href="dir_1bdb7a6f6f947180459b1da442728237.html" target="_self">handle_adapter</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_0_0_0_0_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="cached__parent_8hpp.html" target="_self">cached_parent.hpp</a></td><td class="desc">Adapts any <code>fs_handle</code> to cache its parent directory handle </td></tr>
-<tr id="row_0_1_0_0_0_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="combining_8hpp.html" target="_self">combining.hpp</a></td><td class="desc">Provides <code>combining_handle_adapter</code> </td></tr>
-<tr id="row_0_1_0_0_0_2_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xor_8hpp.html" target="_self">xor.hpp</a></td><td class="desc">Provides <code>xor_handle_adapter</code> </td></tr>
+<tr id="row_0_1_0_0_0_0_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="cached__parent_8hpp.html" target="_self">cached_parent.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_0_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="combining_8hpp.html" target="_self">combining.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_0_2_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="xor_8hpp.html" target="_self">xor.hpp</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_1_0_0_1_" class="arrow" onclick="toggleFolder('0_1_0_0_1_')">&#9660;</span><span id="img_0_1_0_0_1_" class="iconfopen" onclick="toggleFolder('0_1_0_0_1_')">&#160;</span><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html" target="_self">shared_fs_mutex</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_0_0_1_0_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="atomic__append_8hpp.html" target="_self">atomic_append.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::atomic_append </td></tr>
-<tr id="row_0_1_0_0_1_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="base_8hpp.html" target="_self">base.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::shared_fs_mutex </td></tr>
-<tr id="row_0_1_0_0_1_2_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="byte__ranges_8hpp.html" target="_self">byte_ranges.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::byte_ranges </td></tr>
-<tr id="row_0_1_0_0_1_3_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lock__files_8hpp.html" target="_self">lock_files.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::lock_files </td></tr>
-<tr id="row_0_1_0_0_1_4_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="memory__map_8hpp.html" target="_self">memory_map.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::memory_map </td></tr>
-<tr id="row_0_1_0_0_1_5_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="safe__byte__ranges_8hpp.html" target="_self">safe_byte_ranges.hpp</a></td><td class="desc">Provides algorithm::shared_fs_mutex::safe_byte_ranges </td></tr>
-<tr id="row_0_1_0_0_2_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="trivial__vector_8hpp.html" target="_self">trivial_vector.hpp</a></td><td class="desc">Provides constant time reallocating STL vector </td></tr>
-<tr id="row_0_1_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="async__file__handle_8hpp.html" target="_self">async_file_handle.hpp</a></td><td class="desc">Provides async_file_handle </td></tr>
-<tr id="row_0_1_0_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="config_8hpp.html" target="_self">config.hpp</a></td><td class="desc">Configures a compiler environment for LLFIO header and source code </td></tr>
-<tr id="row_0_1_0_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="deadline_8h.html" target="_self">deadline.h</a></td><td class="desc">Provides struct deadline </td></tr>
-<tr id="row_0_1_0_4_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="directory__handle_8hpp.html" target="_self">directory_handle.hpp</a></td><td class="desc">Provides a handle to a directory </td></tr>
-<tr id="row_0_1_0_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="fast__random__file__handle_8hpp.html" target="_self">fast_random_file_handle.hpp</a></td><td class="desc">Provides <code>fast_random_file_handle</code> </td></tr>
-<tr id="row_0_1_0_6_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="file__handle_8hpp.html" target="_self">file_handle.hpp</a></td><td class="desc">Provides file_handle </td></tr>
-<tr id="row_0_1_0_7_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="fs__handle_8hpp.html" target="_self">fs_handle.hpp</a></td><td class="desc">Provides fs_handle </td></tr>
-<tr id="row_0_1_0_8_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="handle_8hpp.html" target="_self">handle.hpp</a></td><td class="desc">Provides handle </td></tr>
-<tr id="row_0_1_0_9_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="io__handle_8hpp.html" target="_self">io_handle.hpp</a></td><td class="desc">Provides i/o handle </td></tr>
-<tr id="row_0_1_0_10_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="io__service_8hpp.html" target="_self">io_service.hpp</a></td><td class="desc">Provides io_service </td></tr>
-<tr id="row_0_1_0_11_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="v2_80_2llfio_8hpp.html" target="_self">llfio.hpp</a></td><td class="desc">The master <em>versioned</em> LLFIO include file. All version specific LLFIO consuming libraries should include this header only </td></tr>
-<tr id="row_0_1_0_12_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="map__handle_8hpp.html" target="_self">map_handle.hpp</a></td><td class="desc">Provides <code>map_handle</code> </td></tr>
-<tr id="row_0_1_0_13_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="mapped_8hpp.html" target="_self">mapped.hpp</a></td><td class="desc">Provides typed view of mapped section </td></tr>
-<tr id="row_0_1_0_14_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="mapped__file__handle_8hpp.html" target="_self">mapped_file_handle.hpp</a></td><td class="desc">Provides mapped_file_handle </td></tr>
-<tr id="row_0_1_0_15_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="native__handle__type_8hpp.html" target="_self">native_handle_type.hpp</a></td><td class="desc">Provides native_handle_type </td></tr>
-<tr id="row_0_1_0_16_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__discovery_8hpp.html" target="_self">path_discovery.hpp</a></td><td class="desc">Provides <code>path_discovery</code> </td></tr>
-<tr id="row_0_1_0_17_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__handle_8hpp.html" target="_self">path_handle.hpp</a></td><td class="desc">Provides a handle to a filesystem location </td></tr>
-<tr id="row_0_1_0_18_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__view_8hpp.html" target="_self">path_view.hpp</a></td><td class="desc">Provides view of a path </td></tr>
-<tr id="row_0_1_0_19_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="stat_8hpp.html" target="_self">stat.hpp</a></td><td class="desc">Provides stat </td></tr>
-<tr id="row_0_1_0_20_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="statfs_8hpp.html" target="_self">statfs.hpp</a></td><td class="desc">Provides statfs </td></tr>
-<tr id="row_0_1_0_21_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="storage__profile_8hpp.html" target="_self">storage_profile.hpp</a></td><td class="desc">Provides storage_profile </td></tr>
-<tr id="row_0_1_0_22_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="symlink__handle_8hpp.html" target="_self">symlink_handle.hpp</a></td><td class="desc">Provides a handle to a symbolic link </td></tr>
-<tr id="row_0_1_0_23_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="utils_8hpp.html" target="_self">utils.hpp</a></td><td class="desc">Provides namespace utils </td></tr>
-<tr id="row_0_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="llfio_8hpp.html" target="_self">llfio.hpp</a></td><td class="desc">The master <em>latest version</em> LLFIO include file. All LLFIO consuming libraries should include this header only </td></tr>
-<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="version_8hpp.html" target="_self">version.hpp</a></td><td class="desc">Controls the version of LLFIO for cmake, shared library and C++ namespace mangling </td></tr>
+<tr id="row_0_1_0_0_1_0_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="atomic__append_8hpp.html" target="_self">atomic_append.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_1_1_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="base_8hpp.html" target="_self">base.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_1_2_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="byte__ranges_8hpp.html" target="_self">byte_ranges.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_1_3_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lock__files_8hpp.html" target="_self">lock_files.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_1_4_"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="memory__map_8hpp.html" target="_self">memory_map.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_1_5_" class="even"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="safe__byte__ranges_8hpp.html" target="_self">safe_byte_ranges.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_2_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="clone_8hpp.html" target="_self">clone.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_3_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="contents_8hpp.html" target="_self">contents.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_4_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="reduce_8hpp.html" target="_self">reduce.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_5_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="summarize_8hpp.html" target="_self">summarize.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_6_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="traverse_8hpp.html" target="_self">traverse.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_0_7_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="trivial__vector_8hpp.html" target="_self">trivial_vector.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="config_8hpp.html" target="_self">config.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="deadline_8h.html" target="_self">deadline.h</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_3_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="directory__handle_8hpp.html" target="_self">directory_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_4_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="fast__random__file__handle_8hpp.html" target="_self">fast_random_file_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_5_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="file__handle_8hpp.html" target="_self">file_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_6_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="fs__handle_8hpp.html" target="_self">fs_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_7_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="handle_8hpp.html" target="_self">handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_8_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="io__handle_8hpp.html" target="_self">io_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_9_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="v2_80_2llfio_8hpp.html" target="_self">llfio.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_10_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lockable__io__handle_8hpp.html" target="_self">lockable_io_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_11_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="map__handle_8hpp.html" target="_self">map_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_12_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="mapped_8hpp.html" target="_self">mapped.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_13_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="mapped__file__handle_8hpp.html" target="_self">mapped_file_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_14_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="native__handle__type_8hpp.html" target="_self">native_handle_type.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_15_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__discovery_8hpp.html" target="_self">path_discovery.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_16_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__handle_8hpp.html" target="_self">path_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_17_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="path__view_8hpp.html" target="_self">path_view.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_18_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="pipe__handle_8hpp.html" target="_self">pipe_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_19_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="process__handle_8hpp.html" target="_self">process_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_20_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="stat_8hpp.html" target="_self">stat.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_21_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="statfs_8hpp.html" target="_self">statfs.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_22_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="storage__profile_8hpp.html" target="_self">storage_profile.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_23_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="symlink__handle_8hpp.html" target="_self">symlink_handle.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_24_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="utils_8hpp.html" target="_self">utils.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="llfio_8hpp.html" target="_self">llfio.hpp</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="version_8hpp.html" target="_self">version.hpp</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
@@ -138,7 +146,7 @@ $(document).ready(function(){initNavTree('files.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/files.js b/files_dup.js
index 93d774e0..f1749d90 100644
--- a/files.js
+++ b/files_dup.js
@@ -1,4 +1,4 @@
-var files =
+var files_dup =
[
[ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ]
]; \ No newline at end of file
diff --git a/fs__handle_8hpp.html b/fs__handle_8hpp.html
index f702bf1a..f3aa915f 100644
--- a/fs__handle_8hpp.html
+++ b/fs__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/fs_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('fs__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('fs__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,14 +85,12 @@ $(document).ready(function(){initNavTree('fs__handle_8hpp.html','');});
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">fs_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides fs_handle.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="path__handle_8hpp.html">path_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="path__view_8hpp.html">path_view.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/uint128.hpp&quot;</code><br />
@@ -107,8 +107,21 @@ Namespaces</h2></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">llfio_v2_xxx::win32_path_namespace</a> { <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">llfio_v2_xxx::win32_path_namespace::any</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7">llfio_v2_xxx::win32_path_namespace::device</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae">llfio_v2_xxx::win32_path_namespace::dos</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0">llfio_v2_xxx::win32_path_namespace::guid_volume</a>
+ }</td></tr>
+<tr class="memdesc:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of win32 path namespace possible. <a href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">More...</a><br /></td></tr>
+<tr class="separator:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:ab561e45415bf19b8cc6064b6b313d94d"><td class="memItemLeft" align="right" valign="top">result&lt; filesystem::path &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">llfio_v2_xxx::to_win32_path</a> (const fs_handle &amp;h, win32_path_namespace mapping=win32_path_namespace::any) noexcept</td></tr>
+<tr class="memdesc:ab561e45415bf19b8cc6064b6b313d94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps the current path of <code>h</code> into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. <a href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">More...</a><br /></td></tr>
+<tr class="separator:ab561e45415bf19b8cc6064b6b313d94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f5764bb77ec58ac60c6b92958a16043"><td class="memItemLeft" align="right" valign="top"><a id="a1f5764bb77ec58ac60c6b92958a16043"></a>
result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::containing_directory</b> (optional&lt; std::reference_wrapper&lt; filesystem::path &gt;&gt; out_filename, const handle &amp;h, const fs_handle &amp;fsh, deadline d) noexcept</td></tr>
<tr class="separator:a1f5764bb77ec58ac60c6b92958a16043"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -118,7 +131,7 @@ result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><
<tr class="separator:a3c20b46beeb225aa63ade3dc42e73362"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides fs_handle. </p>
+<div class="textblock"><p>Provides fs_handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -127,7 +140,7 @@ result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="fs__handle_8hpp.html">fs_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/fs__handle_8hpp.js b/fs__handle_8hpp.js
index 4a6f5a7c..3169b9c4 100644
--- a/fs__handle_8hpp.js
+++ b/fs__handle_8hpp.js
@@ -1,7 +1,14 @@
var fs__handle_8hpp =
[
[ "fs_handle", "classllfio__v2__xxx_1_1fs__handle.html", "classllfio__v2__xxx_1_1fs__handle" ],
+ [ "win32_path_namespace", "fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89a", [
+ [ "any", "fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec", null ],
+ [ "device", "fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7", null ],
+ [ "dos", "fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae", null ],
+ [ "guid_volume", "fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0", null ]
+ ] ],
[ "containing_directory", "fs__handle_8hpp.html#a1f5764bb77ec58ac60c6b92958a16043", null ],
[ "relink", "fs__handle_8hpp.html#a60fa5c64c83ce05c8287c5379d082e49", null ],
+ [ "to_win32_path", "fs__handle_8hpp.html#ab561e45415bf19b8cc6064b6b313d94d", null ],
[ "unlink", "fs__handle_8hpp.html#a3c20b46beeb225aa63ade3dc42e73362", null ]
]; \ No newline at end of file
diff --git a/functions.html b/functions.html
index 32d7b29e..dbdb150b 100644
--- a/functions.html
+++ b/functions.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,13 +84,43 @@ $(document).ready(function(){initNavTree('functions.html','');});
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
-<h3><a id="index__"></a>- _ -</h3><ul>
+<h3><a id="index__5F"></a>- _ -</h3><ul>
+<li>_do_allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle</a>
+</li>
+<li>_do_barrier()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_max_buffers()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_read()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_write()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68">llfio_v2_xxx::mapped_file_handle</a>
+</li>
<li>_fetch_inode()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">llfio_v2_xxx::fs_handle</a>
</li>
<li>_lock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
</li>
+<li>_unsynchronised_io_operation_state()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -97,7 +129,7 @@ $(document).ready(function(){initNavTree('functions.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_a.html b/functions_a.html
index 13e7ed21..9a791f36 100644
--- a/functions_a.html
+++ b/functions_a.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_a.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_a.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -93,12 +95,21 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">llfio_v2_xxx::mapped_file_handle</a>
</li>
+<li>allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">llfio_v2_xxx::io_handle</a>
+</li>
+<li>allocated
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>allocator()
-: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef">kvstore_v1_xxx::basic_key_value_store</a>
+: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>allocator_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5">kvstore_v1_xxx::basic_key_value_store</a>
</li>
+<li>anonymous_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b">llfio_v2_xxx::pipe_handle</a>
+</li>
<li>are_reads_from_cache()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">llfio_v2_xxx::handle</a>
</li>
@@ -113,49 +124,25 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>assign()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-</li>
-<li>async_barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_read()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_temp_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_temp_inode()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_write()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>at()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>atomic_append()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
+</li>
+<li>auto_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">llfio_v2_xxx::path_view_component</a>
</li>
<li>await_ready()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
<li>await_resume()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
-</li>
-<li>await_suspend()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
-<li>awaitable_post_to_self()
-: <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85">llfio_v2_xxx::io_service::awaitable_post_to_self</a>
+<li>awaitable()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -165,7 +152,7 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_b.html b/functions_b.html
index 8d9a918b..1eb3976f 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_b.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_b.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -93,19 +95,31 @@ $(document).ready(function(){initNavTree('functions_b.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">llfio_v2_xxx::section_handle</a>
</li>
<li>barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle</a>
+</li>
+<li>barrier_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>barrier_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
</li>
<li>barrier_kind
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>barriers
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
+<li>base
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>
</li>
<li>basic_key_value_store()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>begin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a">llfio_v2_xxx::path_view</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -113,32 +127,35 @@ $(document).ready(function(){initNavTree('functions_b.html','');});
<li>begin_transaction()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36">kvstore_v1_xxx::basic_key_value_store</a>
</li>
+<li>binary_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">llfio_v2_xxx::path_view_component</a>
+</li>
<li>buffer_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6">llfio_v2_xxx::io_multiplexer::buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd">llfio_v2_xxx::symlink_handle</a>
</li>
<li>buffers_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888">llfio_v2_xxx::directory_handle::buffers_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41">llfio_v2_xxx::directory_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">llfio_v2_xxx::io_multiplexer</a>
+, <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a">llfio_v2_xxx::symlink_handle::buffers_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
</li>
<li>byte
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">llfio_v2_xxx::path_view_component</a>
</li>
<li>byte_ranges()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
</li>
<li>bytes_stored()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>bytes_transferred()
-: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -148,7 +165,7 @@ $(document).ready(function(){initNavTree('functions_b.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_c.html b/functions_c.html
index 0733908b..50e61e13 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_c.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_c.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,6 +90,9 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">llfio_v2_xxx::handle</a>
</li>
+<li>cancel_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff">llfio_v2_xxx::io_multiplexer</a>
+</li>
<li>capacity()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152">llfio_v2_xxx::map_handle</a>
@@ -98,52 +103,73 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
</li>
<li>cbegin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>cend()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
+<li>change_t
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>check_for_any_completed_io()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>check_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39">llfio_v2_xxx::io_multiplexer</a>
+</li>
<li>clear()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
</li>
+<li>clear_storage()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
<li>clone()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">llfio_v2_xxx::async_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9">llfio_v2_xxx::process_handle</a>
+</li>
+<li>clone_extents_to()
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">llfio_v2_xxx::file_handle</a>
</li>
<li>clone_to_path_handle()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a">llfio_v2_xxx::path_handle</a>
</li>
<li>close()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">llfio_v2_xxx::directory_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165">llfio_v2_xxx::fast_random_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">llfio_v2_xxx::path_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d">llfio_v2_xxx::section_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>close_pipes()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976">llfio_v2_xxx::process_handle</a>
+</li>
+<li>co_barrier()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">llfio_v2_xxx::io_handle</a>
+</li>
<li>co_read()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">llfio_v2_xxx::io_handle</a>
</li>
<li>co_write()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">llfio_v2_xxx::io_handle</a>
</li>
<li>combining_handle_adapter()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
@@ -152,28 +178,31 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b">kvstore_v1_xxx::basic_key_value_store::transaction</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">llfio_v2_xxx::map_handle</a>
</li>
+<li>completed_read
+: <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+</li>
+<li>completed_write_or_barrier
+: <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+</li>
<li>compression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
<li>const_buffer_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">llfio_v2_xxx::symlink_handle</a>
</li>
<li>const_buffers_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe">llfio_v2_xxx::io_service</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">llfio_v2_xxx::io_multiplexer</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>const_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52">llfio_v2_xxx::mapped&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c">llfio_v2_xxx::symlink_handle::buffers_type</a>
@@ -183,8 +212,8 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>const_reference
@@ -197,9 +226,41 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>const_reverse_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8">llfio_v2_xxx::path_view</a>
</li>
+<li>construct()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>construct_and_init_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>contains_glob()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>content_comparison
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>content_metadata_changed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>contents
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_directories
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_files
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_metadata
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_symlinks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_visitor()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
<li>crbegin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
@@ -214,10 +275,25 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>crend()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
+<li>current()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">llfio_v2_xxx::process_handle</a>
+</li>
+<li>current_nesting_level()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
<li>current_path()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>current_state()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>current_work_item()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -226,7 +302,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_d.html b/functions_d.html
index 5a7d7c23..929a78c3 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_d.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_d.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,17 +85,25 @@ $(document).ready(function(){initNavTree('functions_d.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_d"></a>- d -</h3><ul>
+<li>d
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>
+</li>
<li>data()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
</li>
<li>decommit()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75">llfio_v2_xxx::map_handle</a>
</li>
+<li>default_c_str_deleter
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">llfio_v2_xxx::path_view_component</a>
+</li>
<li>default_internal_buffer_size
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>default_metadata()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">llfio_v2_xxx::algorithm::traversal_summary</a>
</li>
<li>dependencies()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8">kvstore_v1_xxx::basic_key_value_store::transaction</a>
@@ -101,6 +111,9 @@ $(document).ready(function(){initNavTree('functions_d.html','');});
<li>description
: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0">llfio_v2_xxx::storage_profile::item_base</a>
</li>
+<li>devs
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>difference_type
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -111,11 +124,41 @@ $(document).ready(function(){initNavTree('functions_d.html','');});
<li>directory()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle</a>
</li>
+<li>directory_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>directory_blocks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>directory_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">llfio_v2_xxx::directory_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8">llfio_v2_xxx::directory_handle</a>
+</li>
+<li>directory_open_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">llfio_v2_xxx::algorithm::compare_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">llfio_v2_xxx::algorithm::reduce_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">llfio_v2_xxx::algorithm::summarize_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
+<li>directory_opens_failed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>directory_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>directory_renamed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>do_io_handle_allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>do_io_handle_deregister()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>do_io_handle_max_buffers()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer</a>
</li>
-<li>disable_kqueues()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d">llfio_v2_xxx::io_service</a>
+<li>do_io_handle_register()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6">llfio_v2_xxx::io_multiplexer</a>
</li>
<li>do_not_store()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">llfio_v2_xxx::map_handle</a>
@@ -131,7 +174,7 @@ $(document).ready(function(){initNavTree('functions_d.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_dup.js b/functions_dup.js
index 0ed26be7..3882b8cb 100644
--- a/functions_dup.js
+++ b/functions_dup.js
@@ -7,6 +7,7 @@ var functions_dup =
[ "d", "functions_d.html", null ],
[ "e", "functions_e.html", null ],
[ "f", "functions_f.html", null ],
+ [ "g", "functions_g.html", null ],
[ "h", "functions_h.html", null ],
[ "i", "functions_i.html", null ],
[ "k", "functions_k.html", null ],
@@ -24,5 +25,5 @@ var functions_dup =
[ "w", "functions_w.html", null ],
[ "x", "functions_x.html", null ],
[ "z", "functions_z.html", null ],
- [ "~", "functions_0x7e.html", null ]
+ [ "~", "functions_~.html", null ]
]; \ No newline at end of file
diff --git a/functions_e.html b/functions_e.html
index 46150cb7..682a2523 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_e.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_e.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,15 +97,15 @@ $(document).ready(function(){initNavTree('functions_e.html','');});
<li>empty()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2">llfio_v2_xxx::path_view_component</a>
+, <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
<li>end()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453">llfio_v2_xxx::path_view</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -128,7 +130,10 @@ $(document).ready(function(){initNavTree('functions_e.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
-, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
+</li>
+<li>environment()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">llfio_v2_xxx::process_handle</a>
</li>
<li>erase()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
@@ -136,29 +141,40 @@ $(document).ready(function(){initNavTree('functions_e.html','');});
<li>error()
: <a class="el" href="classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3">llfio_v2_xxx::error</a>
</li>
+<li>error_info()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4">llfio_v2_xxx::error_info</a>
+</li>
+<li>error_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd">llfio_v2_xxx::process_handle</a>
+</li>
+<li>error_type
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>exclusive
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
</li>
+<li>exists()
+: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623">llfio_v2_xxx::path_handle</a>
+</li>
<li>extension()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">llfio_v2_xxx::path_view_component</a>
</li>
<li>extent()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
<li>extent_guard()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
<li>extent_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">llfio_v2_xxx::io_service</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>extents()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">llfio_v2_xxx::file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
</ul>
@@ -169,7 +185,7 @@ $(document).ready(function(){initNavTree('functions_e.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_enum.html b/functions_enum.html
index b0345416..ffdaa70f 100644
--- a/functions_enum.html
+++ b/functions_enum.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Enumerations</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_enum.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_enum.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,19 +84,22 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
<div class="contents">
&#160;<ul>
<li>barrier_kind
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">llfio_v2_xxx::io_multiplexer</a>
</li>
<li>caching
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">llfio_v2_xxx::handle</a>
</li>
+<li>change_t
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
<li>creation
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">llfio_v2_xxx::handle</a>
</li>
<li>filter
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">llfio_v2_xxx::directory_handle</a>
</li>
-<li>lock_kind
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle</a>
+<li>format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">llfio_v2_xxx::path_view_component</a>
</li>
<li>mode
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">llfio_v2_xxx::handle</a>
@@ -105,6 +110,9 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
<li>symlink_type
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>zero_termination
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -113,7 +121,7 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_eval.html b/functions_eval.html
new file mode 100644
index 00000000..8387fe43
--- /dev/null
+++ b/functions_eval.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members - Enumerator</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_eval.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>auto_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>binary_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>content_metadata_changed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>directory_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>directory_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>directory_renamed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_linked
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_renamed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>generic_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>native_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>noncontent_metadata_changed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>not_zero_terminated
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>symlink_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>symlink_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>zero_terminated
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">llfio_v2_xxx::path_view_component</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_f.html b/functions_f.html
index 9c781102..eb609122 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_f.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_f.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -110,6 +112,12 @@ $(document).ready(function(){initNavTree('functions_f.html','');});
<li>f_fstypename
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e">llfio_v2_xxx::statfs_t</a>
</li>
+<li>f_iosbusytime
+: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2">llfio_v2_xxx::statfs_t</a>
+</li>
+<li>f_iosinprogress
+: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd">llfio_v2_xxx::statfs_t</a>
+</li>
<li>f_iosize
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d">llfio_v2_xxx::statfs_t</a>
</li>
@@ -131,17 +139,29 @@ $(document).ready(function(){initNavTree('functions_f.html','');});
<li>fast_random_file_handle()
: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">llfio_v2_xxx::fast_random_file_handle</a>
</li>
-<li>fd
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>features
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>file()
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle</a>
</li>
+<li>file_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_blocks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e">llfio_v2_xxx::file_handle</a>
+</li>
+<li>file_linked
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>file_renamed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">llfio_v2_xxx::algorithm::difference_item</a>
</li>
<li>filecompression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1">llfio_v2_xxx::statfs_t::f_flags_t</a>
@@ -162,17 +182,30 @@ $(document).ready(function(){initNavTree('functions_f.html','');});
<li>filter_state_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c">kvstore_v1_xxx::basic_key_value_store</a>
</li>
+<li>finished()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749">llfio_v2_xxx::algorithm::contents_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
<li>flags()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle</a>
</li>
+<li>flush_inited_io_operations()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>formatting()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">llfio_v2_xxx::path_view_component</a>
+</li>
<li>front()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>frozen()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a3530afb8619a4d00448db65c19b471e1">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>fs_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">llfio_v2_xxx::fs_handle</a>
</li>
<li>fs_mutex_append()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
@@ -197,7 +230,7 @@ $(document).ready(function(){initNavTree('functions_f.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func.html b/functions_func.html
index d2107378..36a87a81 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,13 +84,43 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
<div class="contents">
&#160;
-<h3><a id="index__"></a>- _ -</h3><ul>
+<h3><a id="index__5F"></a>- _ -</h3><ul>
+<li>_do_allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa">llfio_v2_xxx::io_handle</a>
+</li>
+<li>_do_barrier()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_max_buffers()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_read()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>_do_write()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68">llfio_v2_xxx::mapped_file_handle</a>
+</li>
<li>_fetch_inode()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e">llfio_v2_xxx::fs_handle</a>
</li>
<li>_lock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
</li>
+<li>_unsynchronised_io_operation_state()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -97,7 +129,7 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func.js b/functions_func.js
index 82738d57..46ded29f 100644
--- a/functions_func.js
+++ b/functions_func.js
@@ -7,6 +7,7 @@ var functions_func =
[ "d", "functions_func_d.html", null ],
[ "e", "functions_func_e.html", null ],
[ "f", "functions_func_f.html", null ],
+ [ "g", "functions_func_g.html", null ],
[ "h", "functions_func_h.html", null ],
[ "i", "functions_func_i.html", null ],
[ "k", "functions_func_k.html", null ],
@@ -23,5 +24,5 @@ var functions_func =
[ "v", "functions_func_v.html", null ],
[ "w", "functions_func_w.html", null ],
[ "z", "functions_func_z.html", null ],
- [ "~", "functions_func_0x7e.html", null ]
+ [ "~", "functions_func_~.html", null ]
]; \ No newline at end of file
diff --git a/functions_func_a.html b/functions_func_a.html
index eaeb3687..3beb86cd 100644
--- a/functions_func_a.html
+++ b/functions_func_a.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_a.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_a.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,8 +89,14 @@ $(document).ready(function(){initNavTree('functions_func_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">llfio_v2_xxx::mapped_file_handle</a>
</li>
+<li>allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3">llfio_v2_xxx::io_handle</a>
+</li>
<li>allocator()
-: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065">kvstore_v1_xxx::basic_key_value_store</a>
+: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef">kvstore_v1_xxx::basic_key_value_store</a>
+</li>
+<li>anonymous_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b">llfio_v2_xxx::pipe_handle</a>
</li>
<li>are_reads_from_cache()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">llfio_v2_xxx::handle</a>
@@ -104,31 +112,7 @@ $(document).ready(function(){initNavTree('functions_func_a.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>assign()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-</li>
-<li>async_barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_read()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_temp_file()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_temp_inode()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">llfio_v2_xxx::async_file_handle</a>
-</li>
-<li>async_write()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>at()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
@@ -137,16 +121,13 @@ $(document).ready(function(){initNavTree('functions_func_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
</li>
<li>await_ready()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
<li>await_resume()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
-</li>
-<li>await_suspend()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
-<li>awaitable_post_to_self()
-: <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85">llfio_v2_xxx::io_service::awaitable_post_to_self</a>
+<li>awaitable()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -156,7 +137,7 @@ $(document).ready(function(){initNavTree('functions_func_a.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_b.html b/functions_func_b.html
index 70eb0362..855a9b5f 100644
--- a/functions_func_b.html
+++ b/functions_func_b.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_b.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_b.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -93,28 +95,34 @@ $(document).ready(function(){initNavTree('functions_func_b.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">llfio_v2_xxx::section_handle</a>
</li>
<li>barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32">llfio_v2_xxx::io_handle</a>
+</li>
+<li>barrier_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>barrier_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
</li>
<li>basic_key_value_store()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>begin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a">llfio_v2_xxx::path_view</a>
-, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133">llfio_v2_xxx::storage_profile::storage_profile</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1">llfio_v2_xxx::symlink_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c">llfio_v2_xxx::path_view</a>
+, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b">llfio_v2_xxx::storage_profile::storage_profile</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>begin_transaction()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>buffer_type()
-: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db">llfio_v2_xxx::io_handle::buffer_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa">llfio_v2_xxx::io_multiplexer::buffer_type</a>
</li>
<li>buffers_type()
-: <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2">llfio_v2_xxx::directory_handle::buffers_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989">llfio_v2_xxx::directory_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a">llfio_v2_xxx::symlink_handle::buffers_type</a>
</li>
<li>byte_ranges()
@@ -124,7 +132,7 @@ $(document).ready(function(){initNavTree('functions_func_b.html','');});
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>bytes_transferred()
-: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -134,7 +142,7 @@ $(document).ready(function(){initNavTree('functions_func_b.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_c.html b/functions_func_c.html
index 383bbc87..7f26f516 100644
--- a/functions_func_c.html
+++ b/functions_func_c.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_c.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_c.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,9 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
&#160;
<h3><a id="index_c"></a>- c -</h3><ul>
+<li>cancel_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff">llfio_v2_xxx::io_multiplexer</a>
+</li>
<li>capacity()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152">llfio_v2_xxx::map_handle</a>
@@ -90,65 +95,95 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
</li>
<li>cbegin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>cend()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
+<li>check_for_any_completed_io()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>check_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39">llfio_v2_xxx::io_multiplexer</a>
+</li>
<li>clear()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
</li>
+<li>clear_storage()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
<li>clone()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">llfio_v2_xxx::async_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9">llfio_v2_xxx::process_handle</a>
+</li>
+<li>clone_extents_to()
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94">llfio_v2_xxx::file_handle</a>
</li>
<li>clone_to_path_handle()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a">llfio_v2_xxx::path_handle</a>
</li>
<li>close()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">llfio_v2_xxx::directory_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165">llfio_v2_xxx::fast_random_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">llfio_v2_xxx::path_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d">llfio_v2_xxx::section_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>close_pipes()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976">llfio_v2_xxx::process_handle</a>
+</li>
+<li>co_barrier()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555">llfio_v2_xxx::io_handle</a>
+</li>
<li>co_read()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e">llfio_v2_xxx::io_handle</a>
</li>
<li>co_write()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee">llfio_v2_xxx::io_handle</a>
</li>
<li>combining_handle_adapter()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
</li>
<li>commit()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b">kvstore_v1_xxx::basic_key_value_store::transaction</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">llfio_v2_xxx::map_handle</a>
</li>
<li>const_buffer_type()
-: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce">llfio_v2_xxx::io_handle::const_buffer_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
</li>
<li>const_buffers_type()
-: <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+</li>
+<li>construct()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>construct_and_init_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>contains_glob()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>contents_visitor()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c">llfio_v2_xxx::algorithm::contents_visitor</a>
</li>
<li>crbegin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
@@ -156,10 +191,25 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
<li>crend()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
+<li>current()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">llfio_v2_xxx::process_handle</a>
+</li>
+<li>current_nesting_level()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
<li>current_path()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>current_state()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>current_work_item()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -168,7 +218,7 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_d.html b/functions_func_d.html
index 094abff3..455ea7f8 100644
--- a/functions_func_d.html
+++ b/functions_func_d.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_d.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_d.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,12 +87,15 @@ $(document).ready(function(){initNavTree('functions_func_d.html','');});
<h3><a id="index_d"></a>- d -</h3><ul>
<li>data()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
</li>
<li>decommit()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75">llfio_v2_xxx::map_handle</a>
</li>
+<li>default_metadata()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>dependencies()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8">kvstore_v1_xxx::basic_key_value_store::transaction</a>
</li>
@@ -98,10 +103,25 @@ $(document).ready(function(){initNavTree('functions_func_d.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle</a>
</li>
<li>directory_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a">llfio_v2_xxx::directory_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824">llfio_v2_xxx::directory_handle</a>
+</li>
+<li>directory_open_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">llfio_v2_xxx::algorithm::compare_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">llfio_v2_xxx::algorithm::reduce_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">llfio_v2_xxx::algorithm::summarize_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
+<li>do_io_handle_allocate_registered_buffer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>do_io_handle_deregister()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>do_io_handle_max_buffers()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c">llfio_v2_xxx::io_multiplexer</a>
</li>
-<li>disable_kqueues()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d">llfio_v2_xxx::io_service</a>
+<li>do_io_handle_register()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6">llfio_v2_xxx::io_multiplexer</a>
</li>
<li>do_not_store()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">llfio_v2_xxx::map_handle</a>
@@ -117,7 +137,7 @@ $(document).ready(function(){initNavTree('functions_func_d.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_e.html b/functions_func_e.html
index babcc9ed..6ad202c8 100644
--- a/functions_func_e.html
+++ b/functions_func_e.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_e.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_e.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,18 +94,17 @@ $(document).ready(function(){initNavTree('functions_func_e.html','');});
<li>empty()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2">llfio_v2_xxx::path_view_component</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
<li>end()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453">llfio_v2_xxx::path_view</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97">llfio_v2_xxx::storage_profile::storage_profile</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38">llfio_v2_xxx::symlink_handle::buffers_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623">llfio_v2_xxx::symlink_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>entity_from_buffer()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a4cdf15b69bf6f375ec7083d639f76358">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
@@ -112,27 +113,38 @@ $(document).ready(function(){initNavTree('functions_func_e.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#afb28aedaf5caa53e851165a4f1927207">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
</li>
<li>entity_type()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
+</li>
+<li>environment()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4">llfio_v2_xxx::process_handle</a>
</li>
<li>erase()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>error()
: <a class="el" href="classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3">llfio_v2_xxx::error</a>
</li>
+<li>error_info()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4">llfio_v2_xxx::error_info</a>
+</li>
+<li>error_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa">llfio_v2_xxx::process_handle</a>
+</li>
+<li>exists()
+: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32">llfio_v2_xxx::path_handle</a>
+</li>
<li>extension()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">llfio_v2_xxx::path_view_component</a>
</li>
<li>extent()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
<li>extent_guard()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
<li>extents()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a">llfio_v2_xxx::file_handle</a>
</li>
</ul>
</div><!-- contents -->
@@ -142,7 +154,7 @@ $(document).ready(function(){initNavTree('functions_func_e.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_f.html b/functions_func_f.html
index d753baa7..6f84a4d7 100644
--- a/functions_func_f.html
+++ b/functions_func_f.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_f.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_f.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -93,7 +95,7 @@ $(document).ready(function(){initNavTree('functions_func_f.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle</a>
</li>
<li>file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1">llfio_v2_xxx::file_handle</a>
</li>
<li>filename()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a">llfio_v2_xxx::path_view</a>
@@ -105,9 +107,19 @@ $(document).ready(function(){initNavTree('functions_func_f.html','');});
<li>fill_random_entities()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#ab33ccb32052633a55cb3bb5d1bbdf52b">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
</li>
+<li>finished()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749">llfio_v2_xxx::algorithm::contents_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
<li>flags()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle</a>
</li>
+<li>flush_inited_io_operations()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>formatting()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">llfio_v2_xxx::path_view_component</a>
+</li>
<li>front()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
@@ -140,7 +152,7 @@ $(document).ready(function(){initNavTree('functions_func_f.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_g.html b/functions_func_g.html
new file mode 100644
index 00000000..6fe2ba27
--- /dev/null
+++ b/functions_func_g.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_g.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>get_completed_read()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>get_completed_write_or_barrier()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>group_complete()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_func_h.html b/functions_func_h.html
index 07ba7aca..835ba509 100644
--- a/functions_func_h.html
+++ b/functions_func_h.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_h.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_h.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,8 +89,38 @@ $(document).ready(function(){initNavTree('functions_func_h.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3">llfio_v2_xxx::file_handle::extent_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
+</li>
+<li>handles()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>has_extension()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>has_filename()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_parent_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_relative_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_directory()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_name()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_stem()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>has_zero_termination()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">llfio_v2_xxx::path_view_component</a>
</li>
</ul>
</div><!-- contents -->
@@ -98,7 +130,7 @@ $(document).ready(function(){initNavTree('functions_func_h.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_i.html b/functions_func_i.html
index 2a0f5d37..cf0905b8 100644
--- a/functions_func_i.html
+++ b/functions_func_i.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_i.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_i.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,14 +85,29 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
&#160;
<h3><a id="index_i"></a>- i -</h3><ul>
-<li>insert()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+<li>implementation_description()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf">llfio_v2_xxx::dynamic_thread_pool_group</a>
</li>
-<li>interruption_signal()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914">llfio_v2_xxx::io_service</a>
+<li>in_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7">llfio_v2_xxx::process_handle</a>
+</li>
+<li>init_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>insert()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>invoke()
-: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd">llfio_v2_xxx::storage_profile::item_erased</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd">llfio_v2_xxx::storage_profile::item_erased</a>
+</li>
+<li>io_aware_next()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>io_aware_work_item()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
</li>
<li>io_handle()
: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">llfio_v2_xxx::io_handle</a>
@@ -100,8 +117,15 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a>
</li>
-<li>io_service()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">llfio_v2_xxx::io_service</a>
+<li>io_state_requirements()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>is_absolute()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86">llfio_v2_xxx::path_view</a>
+</li>
+<li>is_allocation()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763">llfio_v2_xxx::native_handle_type</a>
</li>
<li>is_append_only()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">llfio_v2_xxx::handle</a>
@@ -111,18 +135,25 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_multiplexable()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle</a>
+</li>
<li>is_multiplexer()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_nonblocking()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa">llfio_v2_xxx::native_handle_type</a>
+</li>
<li>is_nvram()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">llfio_v2_xxx::section_handle</a>
</li>
-<li>is_overlapped()
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5">llfio_v2_xxx::native_handle_type</a>
+<li>is_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e">llfio_v2_xxx::native_handle_type</a>
</li>
<li>is_process()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">llfio_v2_xxx::handle</a>
@@ -136,6 +167,12 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_relative()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30">llfio_v2_xxx::path_view</a>
+</li>
+<li>is_running()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9">llfio_v2_xxx::process_handle</a>
+</li>
<li>is_section()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8">llfio_v2_xxx::native_handle_type</a>
@@ -144,6 +181,10 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_socket()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450">llfio_v2_xxx::native_handle_type</a>
+</li>
<li>is_symlink()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32">llfio_v2_xxx::native_handle_type</a>
@@ -164,7 +205,7 @@ $(document).ready(function(){initNavTree('functions_func_i.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_k.html b/functions_func_k.html
index 67658c47..2e5434cb 100644
--- a/functions_func_k.html
+++ b/functions_func_k.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_k.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_k.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -100,7 +102,7 @@ $(document).ready(function(){initNavTree('functions_func_k.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_l.html b/functions_func_l.html
index ace85dbd..7976c4bb 100644
--- a/functions_func_l.html
+++ b/functions_func_l.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_l.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_l.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,25 +85,48 @@ $(document).ready(function(){initNavTree('functions_func_l.html','');});
&#160;
<h3><a id="index_l"></a>- l -</h3><ul>
+<li>launch_process()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f">llfio_v2_xxx::process_handle</a>
+</li>
<li>length()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441">llfio_v2_xxx::section_handle</a>
</li>
+<li>link()
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">llfio_v2_xxx::fs_handle</a>
+</li>
<li>LLFIO_TEMPLATE()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a>
</li>
<li>lock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>lock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>lock_file_range()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>lock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">llfio_v2_xxx::lockable_io_handle</a>
</li>
<li>lock_files()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
+</li>
+<li>lock_guard()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
+</li>
+<li>lock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb">llfio_v2_xxx::unique_file_lock</a>
</li>
-<li>lock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793">llfio_v2_xxx::file_handle</a>
+<li>lockable_io_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f">llfio_v2_xxx::lockable_io_handle</a>
</li>
</ul>
</div><!-- contents -->
@@ -111,7 +136,7 @@ $(document).ready(function(){initNavTree('functions_func_l.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_m.html b/functions_func_m.html
index 62f00eb0..db2e3e83 100644
--- a/functions_func_m.html
+++ b/functions_func_m.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_m.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_m.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,37 +91,37 @@ $(document).ready(function(){initNavTree('functions_func_m.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>map_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4">llfio_v2_xxx::map_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b">llfio_v2_xxx::map_handle</a>
</li>
<li>mapped()
: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>mapped_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3">llfio_v2_xxx::mapped_file_handle</a>
-</li>
-<li>mapped_random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_temp_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_temp_inode()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>mapped_uniquely_named_file()
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>match()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>max_buffers()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">llfio_v2_xxx::io_handle</a>
</li>
<li>max_bytes_stored()
-: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557">kvstore_v1_xxx::basic_key_value_store</a>
+: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a359e8683df35d2a2b84f801426d9c4bb">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>max_size()
-: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2">kvstore_v1_xxx::basic_key_value_store</a>
+: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
@@ -132,11 +134,23 @@ $(document).ready(function(){initNavTree('functions_func_m.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>memory_map()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
+</li>
+<li>message()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">llfio_v2_xxx::error_info</a>
</li>
<li>metadata()
: <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">llfio_v2_xxx::directory_handle::buffers_type</a>
</li>
+<li>ms_sleep_for_more_work()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>multiplexer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">llfio_v2_xxx::io_handle</a>
+</li>
+<li>mutex()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16">llfio_v2_xxx::unique_file_lock</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -145,7 +159,7 @@ $(document).ready(function(){initNavTree('functions_func_m.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_n.html b/functions_func_n.html
index 840cc383..2f27bce8 100644
--- a/functions_func_n.html
+++ b/functions_func_n.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_n.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_n.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,8 +92,10 @@ $(document).ready(function(){initNavTree('functions_func_n.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">llfio_v2_xxx::native_handle_type</a>
</li>
<li>native_size()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>next()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
</li>
</ul>
</div><!-- contents -->
@@ -101,7 +105,7 @@ $(document).ready(function(){initNavTree('functions_func_n.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_o.html b/functions_func_o.html
index b3f6f547..f4ba4e2b 100644
--- a/functions_func_o.html
+++ b/functions_func_o.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_o.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_o.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -91,8 +93,9 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
</li>
<li>operator bool()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9">llfio_v2_xxx::file_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>operator!()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
@@ -100,19 +103,23 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
</li>
<li>operator!=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27">llfio_v2_xxx::stat_t</a>
</li>
<li>operator()()
-: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f">llfio_v2_xxx::storage_profile::item_erased</a>
</li>
<li>operator*()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa3e6180aaac3564373a81fb3b5660891">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9906a8a0d599685787888c01c4e1eeea">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
<li>operator++()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#ad81c4ce83291558c52631c9dacd20e3f">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
<li>operator+=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b">llfio_v2_xxx::algorithm::traversal_summary</a>
</li>
<li>operator-()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -128,6 +135,8 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
</li>
<li>operator&lt;()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a">llfio_v2_xxx::stat_t</a>
</li>
<li>operator&lt;=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -135,33 +144,38 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
<li>operator=()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
-, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
-, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
+, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ac63248b0a6e01753c3433788c99d161c">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
-, <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928">llfio_v2_xxx::async_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5">llfio_v2_xxx::directory_handle::buffers_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422">llfio_v2_xxx::file_handle::extent_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2">llfio_v2_xxx::map_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303">llfio_v2_xxx::mapped_file_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415">llfio_v2_xxx::native_handle_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a">llfio_v2_xxx::section_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4">llfio_v2_xxx::lockable_io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6">llfio_v2_xxx::process_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b">llfio_v2_xxx::section_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">llfio_v2_xxx::symlink_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf">llfio_v2_xxx::symlink_handle</a>
</li>
<li>operator==()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841">llfio_v2_xxx::stat_t</a>
</li>
<li>operator&gt;()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -170,8 +184,17 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
<li>operator[]()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+</li>
+<li>out_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb">llfio_v2_xxx::process_handle</a>
+</li>
+<li>OUTCOME_TEMPLATE()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5">llfio_v2_xxx::error_info</a>
+</li>
+<li>owns_lock()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106">llfio_v2_xxx::unique_file_lock</a>
</li>
</ul>
</div><!-- contents -->
@@ -181,7 +204,7 @@ $(document).ready(function(){initNavTree('functions_func_o.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_p.html b/functions_func_p.html
index 06e319ab..ffdd5c9d 100644
--- a/functions_func_p.html
+++ b/functions_func_p.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_p.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_p.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,6 +89,9 @@ $(document).ready(function(){initNavTree('functions_func_p.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">llfio_v2_xxx::mapped_file_handle</a>
</li>
+<li>parent()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+</li>
<li>parent_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562">llfio_v2_xxx::path_view</a>
</li>
@@ -96,26 +101,56 @@ $(document).ready(function(){initNavTree('functions_func_p.html','');});
<li>path()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d">llfio_v2_xxx::path_view</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
+<li>path1()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5">llfio_v2_xxx::error_info</a>
+</li>
+<li>path2()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38">llfio_v2_xxx::error_info</a>
+</li>
<li>path_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">llfio_v2_xxx::path_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e">llfio_v2_xxx::path_handle</a>
</li>
<li>path_view()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28">llfio_v2_xxx::path_view</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view</a>
+</li>
+<li>path_view_component()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_create()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_open()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2">llfio_v2_xxx::pipe_handle</a>
</li>
<li>pop_back()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
-<li>post()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565">llfio_v2_xxx::io_service</a>
+<li>post_enumeration()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae">llfio_v2_xxx::algorithm::compare_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d">llfio_v2_xxx::algorithm::contents_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082">llfio_v2_xxx::algorithm::reduce_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05">llfio_v2_xxx::algorithm::summarize_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
+<li>pre_enumeration()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">llfio_v2_xxx::algorithm::traverse_visitor</a>
</li>
<li>prefetch()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle</a>
</li>
+<li>process_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec">llfio_v2_xxx::process_handle</a>
+</li>
<li>push_back()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
@@ -127,7 +162,7 @@ $(document).ready(function(){initNavTree('functions_func_p.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_q.html b/functions_func_q.html
index 2e3af404..5ffb5ad9 100644
--- a/functions_func_q.html
+++ b/functions_func_q.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_q.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_q.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,12 +89,14 @@ $(document).ready(function(){initNavTree('functions_func_q.html','');});
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">llfio_v2_xxx::section_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">llfio_v2_xxx::stat_t</a>
, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">llfio_v2_xxx::statfs_t</a>
</li>
<li>QUICKCPPLIB_BITFIELD_END()
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">llfio_v2_xxx::stat_t</a>
, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">llfio_v2_xxx::statfs_t</a>
</li>
@@ -104,7 +108,7 @@ $(document).ready(function(){initNavTree('functions_func_q.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_r.html b/functions_func_r.html
index 00968d31..a9c2e650 100644
--- a/functions_func_r.html
+++ b/functions_func_r.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_r.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_r.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,51 +85,71 @@ $(document).ready(function(){initNavTree('functions_func_r.html','');});
&#160;
<h3><a id="index_r"></a>- r -</h3><ul>
-<li>random_directory()
-: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">llfio_v2_xxx::directory_handle</a>
-</li>
<li>random_entity()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
</li>
-<li>random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle</a>
-</li>
-<li>random_symlink()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1">llfio_v2_xxx::symlink_handle</a>
+<li>random_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3">llfio_v2_xxx::pipe_handle</a>
</li>
<li>rbegin()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>read()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>read_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>read_finished()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>read_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>reduce_visitor()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
+<li>reduction_round()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>relative_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032">llfio_v2_xxx::path_view</a>
</li>
<li>release()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2">llfio_v2_xxx::file_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>relink()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">llfio_v2_xxx::fs_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>relocate_to()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
<li>remove_filename()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">llfio_v2_xxx::path_view</a>
</li>
+<li>rename_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>rend()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+</li>
+<li>reopen()
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b">llfio_v2_xxx::symlink_handle</a>
</li>
<li>requires_aligned_io()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">llfio_v2_xxx::handle</a>
@@ -135,6 +157,7 @@ $(document).ready(function(){initNavTree('functions_func_r.html','');});
</li>
<li>reserve()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>resize()
@@ -150,12 +173,6 @@ $(document).ready(function(){initNavTree('functions_func_r.html','');});
<li>root_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a">llfio_v2_xxx::path_view</a>
</li>
-<li>run()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">llfio_v2_xxx::io_service</a>
-</li>
-<li>run_until()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">llfio_v2_xxx::io_service</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -164,7 +181,7 @@ $(document).ready(function(){initNavTree('functions_func_r.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_s.html b/functions_func_s.html
index 413e65e5..025d6107 100644
--- a/functions_func_s.html
+++ b/functions_func_s.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_s.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_s.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,32 +100,43 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<li>section_handle()
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d">llfio_v2_xxx::section_handle</a>
</li>
-<li>service()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle</a>
-</li>
<li>set_append_only()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>
</li>
<li>set_backing()
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00">llfio_v2_xxx::section_handle</a>
</li>
+<li>set_done()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
+<li>set_error()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>set_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
-<li>set_interruption_signal()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195">llfio_v2_xxx::io_service</a>
+<li>set_multiplexer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>set_section()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">llfio_v2_xxx::map_handle</a>
</li>
+<li>set_value()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>shrink_to_fit()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>size()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
<li>snapshot()
@@ -135,6 +148,9 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<li>st_ino()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">llfio_v2_xxx::fs_handle</a>
</li>
+<li>stack_updated()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
<li>stamp()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">llfio_v2_xxx::stat_t</a>
</li>
@@ -142,13 +158,17 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">llfio_v2_xxx::stat_t</a>
</li>
<li>stem()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>stopped()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>submit()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66">llfio_v2_xxx::dynamic_thread_pool_group</a>
</li>
<li>swap()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">llfio_v2_xxx::async_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782">llfio_v2_xxx::directory_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9">llfio_v2_xxx::fast_random_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle</a>
@@ -157,8 +177,9 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14">llfio_v2_xxx::path_view</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">llfio_v2_xxx::path_view_component</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">llfio_v2_xxx::section_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6">llfio_v2_xxx::symlink_handle</a>
</li>
@@ -166,7 +187,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle</a>
</li>
<li>symlink_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf">llfio_v2_xxx::symlink_handle</a>
</li>
</ul>
</div><!-- contents -->
@@ -176,7 +197,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_t.html b/functions_func_t.html
index 8541dffc..c9a7df02 100644
--- a/functions_func_t.html
+++ b/functions_func_t.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,8 +94,11 @@ $(document).ready(function(){initNavTree('functions_func_t.html','');});
<li>temp_inode()
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle</a>
</li>
+<li>throw_exception()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c">llfio_v2_xxx::error_info</a>
+</li>
<li>trivial_vector_impl()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
</li>
<li>truncate()
@@ -105,9 +110,16 @@ $(document).ready(function(){initNavTree('functions_func_t.html','');});
</li>
<li>try_lock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>try_lock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>try_lock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">llfio_v2_xxx::lockable_io_handle</a>
</li>
-<li>try_lock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">llfio_v2_xxx::file_handle</a>
+<li>try_lock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>type()
: <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">llfio_v2_xxx::symlink_handle::buffers_type</a>
@@ -121,7 +133,7 @@ $(document).ready(function(){initNavTree('functions_func_t.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_u.html b/functions_func_u.html
index 6fed6190..a13ce18c 100644
--- a/functions_func_u.html
+++ b/functions_func_u.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_u.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_u.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,10 +91,22 @@ $(document).ready(function(){initNavTree('functions_func_u.html','');});
<li>unique_id()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">llfio_v2_xxx::fs_handle</a>
</li>
+<li>uniquely_named_directory()
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">llfio_v2_xxx::directory_handle</a>
+</li>
+<li>uniquely_named_file()
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle</a>
+</li>
+<li>uniquely_named_symlink()
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148">llfio_v2_xxx::symlink_handle</a>
+</li>
<li>unlink()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">llfio_v2_xxx::fs_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>unlink_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>unlock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
@@ -101,11 +115,22 @@ $(document).ready(function(){initNavTree('functions_func_u.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c">llfio_v2_xxx::file_handle::extent_guard</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>unlock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>unlock_file_range()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">llfio_v2_xxx::lockable_io_handle</a>
</li>
-<li>unlock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">llfio_v2_xxx::file_handle</a>
+<li>unlock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>unlock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>update_map()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">llfio_v2_xxx::map_handle</a>
@@ -114,9 +139,6 @@ $(document).ready(function(){initNavTree('functions_func_u.html','');});
<li>uri()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98">kvstore_v1_xxx::basic_key_value_store</a>
</li>
-<li>using_kqueues()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb">llfio_v2_xxx::io_service</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -125,7 +147,7 @@ $(document).ready(function(){initNavTree('functions_func_u.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_v.html b/functions_func_v.html
index 1c2bff81..6a50c0cb 100644
--- a/functions_func_v.html
+++ b/functions_func_v.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_v.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_v.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,9 @@ $(document).ready(function(){initNavTree('functions_func_v.html','');});
&#160;
<h3><a id="index_v"></a>- v -</h3><ul>
+<li>value()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a">llfio_v2_xxx::error_info</a>
+</li>
<li>value_size()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece">kvstore_v1_xxx::basic_key_value_store</a>
</li>
@@ -94,7 +99,7 @@ $(document).ready(function(){initNavTree('functions_func_v.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_w.html b/functions_func_w.html
index 553db154..63253872 100644
--- a/functions_func_w.html
+++ b/functions_func_w.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_w.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_w.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,15 +85,38 @@ $(document).ready(function(){initNavTree('functions_func_w.html','');});
&#160;
<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887">llfio_v2_xxx::dynamic_thread_pool_group</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2">llfio_v2_xxx::process_handle</a>
+</li>
+<li>wait_for()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>wait_until()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>wake_check_for_any_completed_io()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>without_trailing_separator()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998">llfio_v2_xxx::path_view</a>
+</li>
<li>write()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>write_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>write_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>write_or_barrier_finished()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -100,7 +125,7 @@ $(document).ready(function(){initNavTree('functions_func_w.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_z.html b/functions_func_z.html
index 769673ef..e2dea129 100644
--- a/functions_func_z.html
+++ b/functions_func_z.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_z.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_z.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,13 +86,16 @@ $(document).ready(function(){initNavTree('functions_func_z.html','');});
<h3><a id="index_z"></a>- z -</h3><ul>
<li>zero()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>zero_memory()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle</a>
</li>
+<li>zero_termination()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">llfio_v2_xxx::path_view_component</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -99,7 +104,7 @@ $(document).ready(function(){initNavTree('functions_func_z.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_func_0x7e.html b/functions_func_~.html
index fe5dce5d..de430695 100644
--- a/functions_func_0x7e.html
+++ b/functions_func_~.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_func_0x7e.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_func_~.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,7 +84,10 @@ $(document).ready(function(){initNavTree('functions_func_0x7e.html','');});
<div class="contents">
&#160;
-<h3><a id="index_0x7e"></a>- ~ -</h3><ul>
+<h3><a id="index__7E"></a>- ~ -</h3><ul>
+<li>~awaitable()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+</li>
<li>~mapped()
: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
@@ -94,7 +99,7 @@ $(document).ready(function(){initNavTree('functions_func_0x7e.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_g.html b/functions_g.html
new file mode 100644
index 00000000..a905e00d
--- /dev/null
+++ b/functions_g.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_g.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_g"></a>- g -</h3><ul>
+<li>generic_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>get_completed_read()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>get_completed_write_or_barrier()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+<li>group_complete()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_h.html b/functions_h.html
index 2253cd88..bc5609ea 100644
--- a/functions_h.html
+++ b/functions_h.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_h.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_h.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,14 +86,15 @@ $(document).ready(function(){initNavTree('functions_h.html','');});
<h3><a id="index_h"></a>- h -</h3><ul>
<li>h
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">llfio_v2_xxx::native_handle_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
</li>
<li>handle()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3">llfio_v2_xxx::file_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
<li>handle_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1">kvstore_v1_xxx::basic_key_value_store</a>
@@ -99,6 +102,36 @@ $(document).ready(function(){initNavTree('functions_h.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0">llfio_v2_xxx::storage_profile::item_base</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
+<li>handles()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>has_extension()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>has_filename()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_parent_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_relative_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_directory()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_name()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_root_path()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257">llfio_v2_xxx::path_view</a>
+</li>
+<li>has_stem()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>has_zero_termination()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">llfio_v2_xxx::path_view_component</a>
+</li>
<li>hasher_type
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
</li>
@@ -110,7 +143,7 @@ $(document).ready(function(){initNavTree('functions_h.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_i.html b/functions_i.html
index d517da43..a18048dd 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_i.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_i.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,37 +85,61 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_i"></a>- i -</h3><ul>
-<li>index_type
-: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad">llfio_v2_xxx::mapped&lt; T &gt;</a>
+<li>implementation_description()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf">llfio_v2_xxx::dynamic_thread_pool_group</a>
</li>
-<li>insert()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+<li>in_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7">llfio_v2_xxx::process_handle</a>
+</li>
+<li>init_io_operation()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18">llfio_v2_xxx::io_multiplexer</a>
</li>
-<li>interruption_signal()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914">llfio_v2_xxx::io_service</a>
+<li>initiated_ios_completed
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a>
+</li>
+<li>initiated_ios_finished
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a>
+</li>
+<li>insert()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>invoke()
-: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd">llfio_v2_xxx::storage_profile::item_erased</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd">llfio_v2_xxx::storage_profile::item_erased</a>
+</li>
+<li>io_aware_next()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>io_aware_work_item()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
</li>
<li>io_handle()
: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">llfio_v2_xxx::io_handle</a>
</li>
+<li>io_handle_type
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>io_request
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61">llfio_v2_xxx::directory_handle::io_request&lt; class &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e">llfio_v2_xxx::io_service</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a>
</li>
<li>io_result
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e">llfio_v2_xxx::io_service</a>
</li>
-<li>io_service()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">llfio_v2_xxx::io_service</a>
+<li>io_state_requirements()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7">llfio_v2_xxx::io_multiplexer</a>
</li>
-<li>io_state_ptr
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">llfio_v2_xxx::async_file_handle</a>
+<li>is_absolute()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86">llfio_v2_xxx::path_view</a>
+</li>
+<li>is_allocation()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763">llfio_v2_xxx::native_handle_type</a>
</li>
<li>is_append_only()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">llfio_v2_xxx::handle</a>
@@ -123,18 +149,25 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_multiplexable()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8">llfio_v2_xxx::handle</a>
+</li>
<li>is_multiplexer()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_nonblocking()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa">llfio_v2_xxx::native_handle_type</a>
+</li>
<li>is_nvram()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">llfio_v2_xxx::section_handle</a>
</li>
-<li>is_overlapped()
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5">llfio_v2_xxx::native_handle_type</a>
+<li>is_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e">llfio_v2_xxx::native_handle_type</a>
</li>
<li>is_process()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">llfio_v2_xxx::handle</a>
@@ -148,6 +181,12 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_relative()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30">llfio_v2_xxx::path_view</a>
+</li>
+<li>is_running()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9">llfio_v2_xxx::process_handle</a>
+</li>
<li>is_section()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8">llfio_v2_xxx::native_handle_type</a>
@@ -156,13 +195,15 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca">llfio_v2_xxx::native_handle_type</a>
</li>
+<li>is_socket()
+: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450">llfio_v2_xxx::native_handle_type</a>
+</li>
<li>is_source_acceptable
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">llfio_v2_xxx::path_view_component</a>
</li>
<li>is_source_chartype_acceptable
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">llfio_v2_xxx::path_view_component</a>
</li>
<li>is_symlink()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">llfio_v2_xxx::handle</a>
@@ -179,8 +220,8 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
<li>iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923">llfio_v2_xxx::storage_profile::storage_profile</a>
@@ -195,7 +236,7 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_k.html b/functions_k.html
index 591dc769..a15af48f 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_k.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_k.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -103,7 +105,7 @@ $(document).ready(function(){initNavTree('functions_k.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_l.html b/functions_l.html
index f09b4cbe..aba5072f 100644
--- a/functions_l.html
+++ b/functions_l.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_l.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_l.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,31 +85,52 @@ $(document).ready(function(){initNavTree('functions_l.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_l"></a>- l -</h3><ul>
+<li>launch_process()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f">llfio_v2_xxx::process_handle</a>
+</li>
<li>leafname
: <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e">llfio_v2_xxx::directory_entry</a>
</li>
-<li>length()
-: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7">llfio_v2_xxx::map_handle</a>
+<li>length
+: <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a">llfio_v2_xxx::file_handle::extent_pair</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441">llfio_v2_xxx::section_handle</a>
</li>
+<li>link()
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">llfio_v2_xxx::fs_handle</a>
+</li>
<li>LLFIO_TEMPLATE()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a>
</li>
<li>lock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>lock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>lock_file_range()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>lock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721">llfio_v2_xxx::lockable_io_handle</a>
</li>
<li>lock_files()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
+</li>
+<li>lock_guard()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
</li>
-<li>lock_kind
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63">llfio_v2_xxx::file_handle</a>
+<li>lock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb">llfio_v2_xxx::unique_file_lock</a>
</li>
-<li>lock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503">llfio_v2_xxx::file_handle</a>
+<li>lockable_io_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf">llfio_v2_xxx::lockable_io_handle</a>
</li>
</ul>
</div><!-- contents -->
@@ -117,7 +140,7 @@ $(document).ready(function(){initNavTree('functions_l.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_m.html b/functions_m.html
index 66d1bd51..4ed6dfed 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_m.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_m.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,35 +91,44 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>map_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4">llfio_v2_xxx::map_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b">llfio_v2_xxx::map_handle</a>
</li>
<li>mapped()
: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>mapped_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3">llfio_v2_xxx::mapped_file_handle</a>
-</li>
-<li>mapped_random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_temp_file()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>mapped_temp_inode()
-: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba">llfio_v2_xxx::mapped_file_handle</a>
+</li>
+<li>mapped_uniquely_named_file()
+: <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>match()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>max_buffers()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0">llfio_v2_xxx::io_handle</a>
</li>
<li>max_bytes_stored()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557">kvstore_v1_xxx::basic_key_value_store</a>
</li>
+<li>max_depth
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>max_iosbusytime
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>max_iosinprogress
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
<li>max_key_size
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
@@ -138,8 +149,15 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
<li>memory_map()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
</li>
-<li>metadata()
-: <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">llfio_v2_xxx::directory_handle::buffers_type</a>
+<li>message()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">llfio_v2_xxx::error_info</a>
+</li>
+<li>metadata
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">llfio_v2_xxx::directory_handle::buffers_type</a>
+</li>
+<li>min_iosinprogress
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
</li>
<li>min_key_size
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4">kvstore_v1_xxx::basic_key_value_store_info</a>
@@ -152,6 +170,15 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">llfio_v2_xxx::handle</a>
</li>
+<li>ms_sleep_for_more_work()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#aac4c23e6b02acabeebac08955fe264f7">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>multiplexer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e">llfio_v2_xxx::io_handle</a>
+</li>
+<li>mutex()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16">llfio_v2_xxx::unique_file_lock</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -160,7 +187,7 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_n.html b/functions_n.html
index 30527f17..38d0e276 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_n.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_n.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,22 +89,33 @@ $(document).ready(function(){initNavTree('functions_n.html','');});
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf">llfio_v2_xxx::storage_profile::item_base</a>
</li>
+<li>native_format
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">llfio_v2_xxx::path_view_component</a>
+</li>
<li>native_handle()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">llfio_v2_xxx::handle</a>
</li>
<li>native_handle_type()
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">llfio_v2_xxx::native_handle_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9">llfio_v2_xxx::native_handle_type</a>
</li>
<li>native_size()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>next()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
</li>
<li>noexec
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
+<li>noncontent_metadata_changed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
<li>nosuid
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
+<li>not_zero_terminated
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">llfio_v2_xxx::path_view_component</a>
+</li>
<li>nsecs
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359">llfio_v2_xxx::deadline</a>
</li>
@@ -114,7 +127,7 @@ $(document).ready(function(){initNavTree('functions_n.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_o.html b/functions_o.html
index 99ac0ec8..978e0082 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_o.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_o.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,16 +85,18 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_o"></a>- o -</h3><ul>
-<li>offset()
-: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">llfio_v2_xxx::map_handle</a>
+<li>offset
+: <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e">llfio_v2_xxx::file_handle::extent_pair</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">llfio_v2_xxx::map_handle</a>
</li>
<li>open()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>operator bool()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9">llfio_v2_xxx::file_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>operator!()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
@@ -100,9 +104,12 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
</li>
<li>operator!=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27">llfio_v2_xxx::stat_t</a>
</li>
<li>operator()()
-: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f">llfio_v2_xxx::storage_profile::item_erased</a>
</li>
<li>operator*()
@@ -113,6 +120,7 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
</li>
<li>operator+=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b">llfio_v2_xxx::algorithm::traversal_summary</a>
</li>
<li>operator-()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -128,6 +136,8 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
</li>
<li>operator&lt;()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a">llfio_v2_xxx::stat_t</a>
</li>
<li>operator&lt;=()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -135,33 +145,38 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
<li>operator=()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
-, <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928">llfio_v2_xxx::async_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5">llfio_v2_xxx::directory_handle::buffers_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422">llfio_v2_xxx::file_handle::extent_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2">llfio_v2_xxx::map_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31">llfio_v2_xxx::lockable_io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a">llfio_v2_xxx::section_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa">llfio_v2_xxx::symlink_handle::buffers_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">llfio_v2_xxx::symlink_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583">llfio_v2_xxx::process_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b">llfio_v2_xxx::section_handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636">llfio_v2_xxx::symlink_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf">llfio_v2_xxx::symlink_handle</a>
</li>
<li>operator==()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841">llfio_v2_xxx::stat_t</a>
</li>
<li>operator&gt;()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
@@ -170,9 +185,18 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
<li>operator[]()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
+<li>out_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb">llfio_v2_xxx::process_handle</a>
+</li>
+<li>OUTCOME_TEMPLATE()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5">llfio_v2_xxx::error_info</a>
+</li>
+<li>owns_lock()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106">llfio_v2_xxx::unique_file_lock</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -181,7 +205,7 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_p.html b/functions_p.html
index 1d595bfb..c3216325 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_p.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_p.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,6 +89,9 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">llfio_v2_xxx::mapped_file_handle</a>
</li>
+<li>parent()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a>
+</li>
<li>parent_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562">llfio_v2_xxx::path_view</a>
</li>
@@ -96,14 +101,19 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
<li>path()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
, <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f">llfio_v2_xxx::path_discovery::discovered_path</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">llfio_v2_xxx::path_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
+<li>path1()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5">llfio_v2_xxx::error_info</a>
+</li>
+<li>path2()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38">llfio_v2_xxx::error_info</a>
+</li>
<li>path_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df">llfio_v2_xxx::path_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c">llfio_v2_xxx::path_handle</a>
</li>
<li>path_type
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">llfio_v2_xxx::handle</a>
@@ -111,19 +121,31 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
<li>path_view()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view</a>
</li>
+<li>path_view_component()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4">llfio_v2_xxx::path_view_component</a>
+</li>
<li>path_view_type
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">llfio_v2_xxx::fs_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">llfio_v2_xxx::path_handle</a>
</li>
-<li>pid
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc">llfio_v2_xxx::native_handle_type</a>
+<li>pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_create()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575">llfio_v2_xxx::pipe_handle</a>
+</li>
+<li>pipe_open()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2">llfio_v2_xxx::pipe_handle</a>
</li>
<li>pointer
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -131,18 +153,33 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
<li>pop_back()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
-<li>post()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565">llfio_v2_xxx::io_service</a>
+<li>post_enumeration()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae">llfio_v2_xxx::algorithm::compare_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d">llfio_v2_xxx::algorithm::contents_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082">llfio_v2_xxx::algorithm::reduce_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05">llfio_v2_xxx::algorithm::summarize_visitor</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
+<li>pre_enumeration()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">llfio_v2_xxx::algorithm::traverse_visitor</a>
</li>
<li>preferred_separator
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">llfio_v2_xxx::path_view_component</a>
</li>
<li>prefetch()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle</a>
</li>
+<li>private_committed
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
+<li>private_paged_in
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
+<li>process_handle()
+: <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67">llfio_v2_xxx::process_handle</a>
+</li>
<li>push_back()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -152,7 +189,7 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_q.html b/functions_q.html
index 10a06fda..ce74233f 100644
--- a/functions_q.html
+++ b/functions_q.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_q.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_q.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,12 +89,14 @@ $(document).ready(function(){initNavTree('functions_q.html','');});
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">llfio_v2_xxx::section_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">llfio_v2_xxx::stat_t</a>
, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">llfio_v2_xxx::statfs_t</a>
</li>
<li>QUICKCPPLIB_BITFIELD_END()
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">llfio_v2_xxx::stat_t</a>
, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">llfio_v2_xxx::statfs_t</a>
</li>
@@ -104,7 +108,7 @@ $(document).ready(function(){initNavTree('functions_q.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_r.html b/functions_r.html
index bd1ddc08..e9b28b75 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_r.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_r.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,35 +85,44 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_r"></a>- r -</h3><ul>
-<li>random_directory()
-: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">llfio_v2_xxx::directory_handle</a>
-</li>
<li>random_entity()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
</li>
-<li>random_file()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">llfio_v2_xxx::file_handle</a>
-</li>
-<li>random_symlink()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1">llfio_v2_xxx::symlink_handle</a>
+<li>random_pipe()
+: <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3">llfio_v2_xxx::pipe_handle</a>
</li>
<li>rbegin()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>rdonly
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
<li>read()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49">llfio_v2_xxx::io_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>read_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>read_finished()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>read_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>reads
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
+<li>reduce_visitor()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
+<li>reduction_round()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>reference
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -119,38 +130,59 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
+<li>registered_buffer_type
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">llfio_v2_xxx::io_multiplexer</a>
+</li>
<li>relative_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032">llfio_v2_xxx::path_view</a>
</li>
<li>release()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2">llfio_v2_xxx::file_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>relink()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">llfio_v2_xxx::fs_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>relocate_to()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
<li>remove_filename()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">llfio_v2_xxx::path_view</a>
</li>
+<li>rename_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>rend()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
+<li>reopen()
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537">llfio_v2_xxx::directory_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b">llfio_v2_xxx::symlink_handle</a>
+</li>
<li>requires_aligned_io()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">llfio_v2_xxx::handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed">llfio_v2_xxx::native_handle_type</a>
</li>
<li>reserve()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>resize()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
</li>
+<li>result_type
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+</li>
<li>reverse_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -166,12 +198,6 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
<li>root_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a">llfio_v2_xxx::path_view</a>
</li>
-<li>run()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">llfio_v2_xxx::io_service</a>
-</li>
-<li>run_until()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">llfio_v2_xxx::io_service</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -180,7 +206,7 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_rela.html b/functions_rela.html
new file mode 100644
index 00000000..923f96c1
--- /dev/null
+++ b/functions_rela.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members - Related Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_rela.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>contents
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>to_win32_path
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4">llfio_v2_xxx::fs_handle</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_s.html b/functions_s.html
index 91494a64..1cea965f 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_s.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_s.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,34 +101,46 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4">llfio_v2_xxx::section_handle</a>
</li>
<li>section_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d">llfio_v2_xxx::section_handle</a>
-</li>
-<li>service()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20">llfio_v2_xxx::section_handle</a>
</li>
<li>set_append_only()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83">llfio_v2_xxx::process_handle</a>
</li>
<li>set_backing()
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00">llfio_v2_xxx::section_handle</a>
</li>
+<li>set_done()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
+<li>set_error()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>set_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2">llfio_v2_xxx::file_handle::extent_guard</a>
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
</li>
-<li>set_interruption_signal()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195">llfio_v2_xxx::io_service</a>
+<li>set_multiplexer()
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>set_section()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">llfio_v2_xxx::map_handle</a>
</li>
+<li>set_value()
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>shrink_to_fit()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>size()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9">llfio_v2_xxx::algorithm::traversal_summary</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
<li>size_type
@@ -136,11 +150,11 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped&lt; T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -219,6 +233,9 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>st_uid
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b">llfio_v2_xxx::stat_t</a>
</li>
+<li>stack_updated()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">llfio_v2_xxx::algorithm::traverse_visitor</a>
+</li>
<li>stamp()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">llfio_v2_xxx::stat_t</a>
</li>
@@ -229,17 +246,24 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>stat_t()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">llfio_v2_xxx::stat_t</a>
</li>
+<li>state
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
<li>steady
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b">llfio_v2_xxx::deadline</a>
</li>
<li>stem()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>stopped()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>submit()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66">llfio_v2_xxx::dynamic_thread_pool_group</a>
</li>
<li>swap()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">llfio_v2_xxx::async_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782">llfio_v2_xxx::directory_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9">llfio_v2_xxx::fast_random_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle</a>
@@ -248,16 +272,23 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14">llfio_v2_xxx::path_view</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">llfio_v2_xxx::path_view_component</a>
+, <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0">llfio_v2_xxx::pipe_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888">llfio_v2_xxx::process_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">llfio_v2_xxx::section_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6">llfio_v2_xxx::symlink_handle</a>
</li>
<li>symlink()
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>symlink_added
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
<li>symlink_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf">llfio_v2_xxx::symlink_handle</a>
+</li>
+<li>symlink_removed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">llfio_v2_xxx::algorithm::difference_item</a>
</li>
<li>symlink_type
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">llfio_v2_xxx::symlink_handle</a>
@@ -270,7 +301,7 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_t.html b/functions_t.html
index bb7c4846..4f9e8426 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,6 +94,18 @@ $(document).ready(function(){initNavTree('functions_t.html','');});
<li>temp_inode()
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle</a>
</li>
+<li>throw_exception()
+: <a class="el" href="structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c">llfio_v2_xxx::error_info</a>
+</li>
+<li>to_win32_path
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4">llfio_v2_xxx::fs_handle</a>
+</li>
+<li>total_address_space_in_use
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
+<li>total_address_space_paged_in
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
<li>trivial_vector_impl()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -104,16 +118,26 @@ $(document).ready(function(){initNavTree('functions_t.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80">llfio_v2_xxx::section_handle</a>
</li>
<li>try_lock()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>try_lock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e">llfio_v2_xxx::lockable_io_handle</a>
</li>
-<li>try_lock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0">llfio_v2_xxx::file_handle</a>
+<li>try_lock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>try_lock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>type
: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb">llfio_v2_xxx::storage_profile::item_base</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
+<li>types
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -122,7 +146,7 @@ $(document).ready(function(){initNavTree('functions_t.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_type.html b/functions_type.html
index 2773a0b2..732acdc1 100644
--- a/functions_type.html
+++ b/functions_type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Typedefs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,17 +98,17 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<li>buffer_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8">llfio_v2_xxx::io_service</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd">llfio_v2_xxx::symlink_handle</a>
</li>
<li>buffers_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">llfio_v2_xxx::io_multiplexer</a>
+, <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
</li>
<li>byte
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">llfio_v2_xxx::path_view_component</a>
</li>
</ul>
@@ -122,20 +124,17 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<li>const_buffer_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a">llfio_v2_xxx::io_service</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">llfio_v2_xxx::symlink_handle</a>
</li>
<li>const_buffers_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe">llfio_v2_xxx::io_service</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">llfio_v2_xxx::io_multiplexer</a>
</li>
<li>const_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52">llfio_v2_xxx::mapped&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c">llfio_v2_xxx::symlink_handle::buffers_type</a>
@@ -145,8 +144,8 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>const_reference
@@ -159,7 +158,6 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<li>const_reverse_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8">llfio_v2_xxx::path_view</a>
</li>
<li>creation
@@ -170,6 +168,9 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<h3><a id="index_d"></a>- d -</h3><ul>
+<li>default_c_str_deleter
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">llfio_v2_xxx::path_view_component</a>
+</li>
<li>difference_type
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -199,11 +200,14 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
</li>
+<li>error_type
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
<li>extent_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">llfio_v2_xxx::io_service</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
</ul>
@@ -233,25 +237,21 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<h3><a id="index_i"></a>- i -</h3><ul>
-<li>index_type
-: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad">llfio_v2_xxx::mapped&lt; T &gt;</a>
+<li>io_handle_type
+: <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
</li>
<li>io_request
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e">llfio_v2_xxx::io_service</a>
</li>
<li>io_result
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e">llfio_v2_xxx::io_service</a>
-</li>
-<li>io_state_ptr
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">llfio_v2_xxx::async_file_handle</a>
</li>
<li>iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">llfio_v2_xxx::path_view</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923">llfio_v2_xxx::storage_profile::storage_profile</a>
@@ -288,8 +288,8 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">llfio_v2_xxx::io_handle::const_buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -305,6 +305,12 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541">llfio_v2_xxx::storage_profile::storage_profile</a>
</li>
+<li>registered_buffer_type
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>result_type
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+</li>
<li>reverse_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -322,11 +328,11 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">llfio_v2_xxx::io_handle::buffer_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">llfio_v2_xxx::io_handle::const_buffer_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405">llfio_v2_xxx::io_service</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">llfio_v2_xxx::io_multiplexer::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped&lt; T &gt;</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">llfio_v2_xxx::path_view_component</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796">llfio_v2_xxx::symlink_handle::buffers_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
@@ -341,6 +347,9 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<li>unique_id_type
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">llfio_v2_xxx::fs_handle</a>
</li>
+<li>unique_id_type_hasher
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">llfio_v2_xxx::fs_handle</a>
+</li>
<li>uri_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af">kvstore_v1_xxx::basic_key_value_store_info</a>
@@ -356,7 +365,9 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">llfio_v2_xxx::mapped&lt; T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973">llfio_v2_xxx::storage_profile::storage_profile</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
</li>
</ul>
</div><!-- contents -->
@@ -366,7 +377,7 @@ $(document).ready(function(){initNavTree('functions_type.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_u.html b/functions_u.html
index 2996a12f..4bdc70e4 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_u.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_u.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,10 +94,25 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
<li>unique_id_type
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">llfio_v2_xxx::fs_handle</a>
</li>
+<li>unique_id_type_hasher
+: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7">llfio_v2_xxx::fs_handle</a>
+</li>
+<li>uniquely_named_directory()
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091">llfio_v2_xxx::directory_handle</a>
+</li>
+<li>uniquely_named_file()
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709">llfio_v2_xxx::file_handle</a>
+</li>
+<li>uniquely_named_symlink()
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148">llfio_v2_xxx::symlink_handle</a>
+</li>
<li>unlink()
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">llfio_v2_xxx::fs_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>unlink_failed()
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe">llfio_v2_xxx::algorithm::reduce_visitor</a>
+</li>
<li>unlock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
@@ -104,11 +121,22 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c">llfio_v2_xxx::file_handle::extent_guard</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb">llfio_v2_xxx::lockable_io_handle::extent_guard</a>
+, <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694">llfio_v2_xxx::unique_file_lock</a>
+</li>
+<li>unlock_file()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180">llfio_v2_xxx::lockable_io_handle</a>
</li>
-<li>unlock_range()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9">llfio_v2_xxx::file_handle</a>
+<li>unlock_file_range()
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>unlock_file_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703">llfio_v2_xxx::lockable_io_handle</a>
+</li>
+<li>unlock_shared()
+: <a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2">llfio_v2_xxx::unique_file_lock</a>
</li>
<li>update_map()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">llfio_v2_xxx::map_handle</a>
@@ -121,9 +149,6 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
-<li>using_kqueues()
-: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb">llfio_v2_xxx::io_service</a>
-</li>
<li>utc
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545">llfio_v2_xxx::deadline</a>
</li>
@@ -135,7 +160,7 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_v.html b/functions_v.html
index 7862095d..6786c10c 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_v.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_v.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,6 +87,7 @@ $(document).ready(function(){initNavTree('functions_v.html','');});
<h3><a id="index_v"></a>- v -</h3><ul>
<li>value
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a">llfio_v2_xxx::error_info</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
</li>
<li>value_size()
@@ -97,7 +100,12 @@ $(document).ready(function(){initNavTree('functions_v.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4">llfio_v2_xxx::mapped&lt; T &gt;</a>
+, <a class="el" href="classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973">llfio_v2_xxx::storage_profile::storage_profile</a>
+, <a class="el" href="classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a>
+</li>
+<li>visitor
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
</li>
</ul>
</div><!-- contents -->
@@ -107,7 +115,7 @@ $(document).ready(function(){initNavTree('functions_v.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_vars.html b/functions_vars.html
index 9197bc8a..5a4e4b7c 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_vars.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_vars.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,13 +88,47 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>acls
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
+<li>allocated
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+</ul>
+
+
+<h3><a id="index_b"></a>- b -</h3><ul>
+<li>barriers
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
+<li>base
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>
+</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
+<li>completed_read
+: <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+</li>
+<li>completed_write_or_barrier
+: <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+</li>
<li>compression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
+<li>content_comparison
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa">llfio_v2_xxx::algorithm::difference_item</a>
+</li>
+<li>contents_include_directories
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_files
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_metadata
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
+<li>contents_include_symlinks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5">llfio_v2_xxx::algorithm::contents_visitor</a>
+</li>
<li>create
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
@@ -100,17 +136,31 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<h3><a id="index_d"></a>- d -</h3><ul>
+<li>d
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>
+</li>
<li>default_internal_buffer_size
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">llfio_v2_xxx::path_view_component</a>
</li>
<li>description
: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0">llfio_v2_xxx::storage_profile::item_base</a>
</li>
+<li>devs
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>directory_blocks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>directory_opens_failed
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
</ul>
<h3><a id="index_e"></a>- e -</h3><ul>
+<li>empty
+: <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>
+</li>
<li>exclusive
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
</li>
@@ -148,6 +198,12 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>f_fstypename
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e">llfio_v2_xxx::statfs_t</a>
</li>
+<li>f_iosbusytime
+: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2">llfio_v2_xxx::statfs_t</a>
+</li>
+<li>f_iosinprogress
+: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd">llfio_v2_xxx::statfs_t</a>
+</li>
<li>f_iosize
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d">llfio_v2_xxx::statfs_t</a>
</li>
@@ -163,8 +219,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>f_owner
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7">llfio_v2_xxx::statfs_t</a>
</li>
-<li>fd
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">llfio_v2_xxx::native_handle_type</a>
+<li>file_blocks
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69">llfio_v2_xxx::algorithm::traversal_summary</a>
</li>
<li>filecompression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1">llfio_v2_xxx::statfs_t::f_flags_t</a>
@@ -174,19 +230,24 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<h3><a id="index_h"></a>- h -</h3><ul>
<li>h
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">llfio_v2_xxx::native_handle_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
+<li>initiated_ios_completed
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a>
+</li>
+<li>initiated_ios_finished
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a>
+</li>
<li>is_source_acceptable
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">llfio_v2_xxx::path_view_component</a>
</li>
<li>is_source_chartype_acceptable
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">llfio_v2_xxx::path_view_component</a>
</li>
</ul>
@@ -195,16 +256,34 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>leafname
: <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e">llfio_v2_xxx::directory_entry</a>
</li>
+<li>length
+: <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a">llfio_v2_xxx::file_handle::extent_pair</a>
+</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
+<li>max_depth
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>max_iosbusytime
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
+<li>max_iosinprogress
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
<li>max_key_size
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
<li>max_value_size
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
+<li>metadata
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a>
+</li>
+<li>min_iosinprogress
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a>
+</li>
<li>min_key_size
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
@@ -231,16 +310,25 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
</ul>
+<h3><a id="index_o"></a>- o -</h3><ul>
+<li>offset
+: <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e">llfio_v2_xxx::file_handle::extent_pair</a>
+</li>
+</ul>
+
+
<h3><a id="index_p"></a>- p -</h3><ul>
<li>path
: <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f">llfio_v2_xxx::path_discovery::discovered_path</a>
</li>
-<li>pid
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>preferred_separator
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">llfio_v2_xxx::path_view_component</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>private_committed
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
+<li>private_paged_in
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884">llfio_v2_xxx::utils::process_memory_usage</a>
</li>
</ul>
@@ -249,6 +337,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>rdonly
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
+<li>reads
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
</ul>
@@ -256,6 +347,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>score
: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
+<li>size
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
<li>st_allocated
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d">llfio_v2_xxx::stat_t</a>
</li>
@@ -323,6 +417,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe">llfio_v2_xxx::directory_entry</a>
, <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61">llfio_v2_xxx::path_discovery::discovered_path</a>
</li>
+<li>state
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>
+</li>
<li>steady
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b">llfio_v2_xxx::deadline</a>
</li>
@@ -330,9 +427,18 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<h3><a id="index_t"></a>- t -</h3><ul>
+<li>total_address_space_in_use
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
+<li>total_address_space_paged_in
+: <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f">llfio_v2_xxx::utils::process_memory_usage</a>
+</li>
<li>type
: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb">llfio_v2_xxx::storage_profile::item_base</a>
</li>
+<li>types
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
</ul>
@@ -348,6 +454,19 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a>
</li>
+<li>visitor
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">llfio_v2_xxx::io_multiplexer::io_operation_state</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>want
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>writes
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
</ul>
@@ -363,7 +482,7 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_w.html b/functions_w.html
index 682b4e60..795b6b2c 100644
--- a/functions_w.html
+++ b/functions_w.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_w.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_w.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,15 +85,44 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887">llfio_v2_xxx::dynamic_thread_pool_group</a>
+, <a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2">llfio_v2_xxx::process_handle</a>
+</li>
+<li>wait_for()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>wait_until()
+: <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816">llfio_v2_xxx::dynamic_thread_pool_group</a>
+</li>
+<li>wake_check_for_any_completed_io()
+: <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5">llfio_v2_xxx::io_multiplexer</a>
+</li>
+<li>want
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28">llfio_v2_xxx::algorithm::traversal_summary</a>
+</li>
+<li>without_trailing_separator()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998">llfio_v2_xxx::path_view</a>
+</li>
<li>write()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">llfio_v2_xxx::mapped_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d">llfio_v2_xxx::io_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">llfio_v2_xxx::symlink_handle</a>
</li>
+<li>write_completed()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>write_initiated()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>write_or_barrier_finished()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>
+</li>
+<li>writes
+: <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -100,7 +131,7 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_x.html b/functions_x.html
index 7a4a7f57..7eeaecf5 100644
--- a/functions_x.html
+++ b/functions_x.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_x.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_x.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -94,7 +96,7 @@ $(document).ready(function(){initNavTree('functions_x.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_z.html b/functions_z.html
index 7b9e96f6..2b2efa1b 100644
--- a/functions_z.html
+++ b/functions_z.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_z.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_z.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,13 +86,19 @@ $(document).ready(function(){initNavTree('functions_z.html','');});
<h3><a id="index_z"></a>- z -</h3><ul>
<li>zero()
-: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">llfio_v2_xxx::mapped_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd">llfio_v2_xxx::fast_random_file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90">llfio_v2_xxx::mapped_file_handle</a>
</li>
<li>zero_memory()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle</a>
</li>
+<li>zero_terminated
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">llfio_v2_xxx::path_view_component</a>
+</li>
+<li>zero_termination()
+: <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">llfio_v2_xxx::path_view_component</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -99,7 +107,7 @@ $(document).ready(function(){initNavTree('functions_z.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/functions_0x7e.html b/functions_~.html
index 7e657c73..5d3dfef7 100644
--- a/functions_0x7e.html
+++ b/functions_~.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_0x7e.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('functions_~.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,7 +84,10 @@ $(document).ready(function(){initNavTree('functions_0x7e.html','');});
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
-<h3><a id="index_0x7e"></a>- ~ -</h3><ul>
+<h3><a id="index__7E"></a>- ~ -</h3><ul>
+<li>~awaitable()
+: <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>
+</li>
<li>~mapped()
: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
@@ -94,7 +99,7 @@ $(document).ready(function(){initNavTree('functions_0x7e.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/globals.html b/globals.html
index 3747d389..716956d8 100644
--- a/globals.html
+++ b/globals.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('globals.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('globals.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -102,8 +104,17 @@ $(document).ready(function(){initNavTree('globals.html','');});
<h3><a id="index_l"></a>- l -</h3><ul>
-<li>LLFIO_COMPILE_KQUEUES
-: <a class="el" href="io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8">io_service.hpp</a>
+<li>LLFIO_DEADLINE_TO_PARTIAL_DEADLINE
+: <a class="el" href="deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT
+: <a class="el" href="deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_SLEEP_INIT
+: <a class="el" href="deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_TIMEOUT_LOOP
+: <a class="el" href="deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba">deadline.h</a>
</li>
<li>LLFIO_DISABLE_PATHS_IN_FAILURE_INFO
: <a class="el" href="config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a">config.hpp</a>
@@ -111,9 +122,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>LLFIO_EXPERIMENTAL_STATUS_CODE
: <a class="el" href="config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559">config.hpp</a>
</li>
-<li>LLFIO_HAVE_REALTIME_SIGNALS
-: <a class="el" href="io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773">io_service.hpp</a>
-</li>
<li>LLFIO_HEADERS_ONLY
: <a class="el" href="group__config.html#ga5365e6c96107a8e7edf6030462562cae">config.hpp</a>
</li>
@@ -129,9 +137,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>LLFIO_HEADERS_PATH
: <a class="el" href="llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65">llfio.hpp</a>
</li>
-<li>LLFIO_IO_POST_SIGNAL
-: <a class="el" href="io__service_8hpp.html#af5cfb661784f372559747708772b9106">io_service.hpp</a>
-</li>
<li>LLFIO_LOG_BACKTRACE_LEVELS
: <a class="el" href="group__config.html#ga799d6ef19b741b67d019652e4acc271f">config.hpp</a>
</li>
@@ -154,9 +159,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>LLFIO_UNSTABLE_VERSION
: <a class="el" href="group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706">version.hpp</a>
</li>
-<li>LLFIO_USE_POSIX_AIO
-: <a class="el" href="io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280">io_service.hpp</a>
-</li>
<li>LLFIO_V2
: <a class="el" href="group__config.html#gabb964a24682a722a7eaad891ee497a61">config.hpp</a>
</li>
@@ -192,7 +194,7 @@ $(document).ready(function(){initNavTree('globals.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/globals_defs.html b/globals_defs.html
index f726552b..fcdd149d 100644
--- a/globals_defs.html
+++ b/globals_defs.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('globals_defs.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('globals_defs.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -102,8 +104,17 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<h3><a id="index_l"></a>- l -</h3><ul>
-<li>LLFIO_COMPILE_KQUEUES
-: <a class="el" href="io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8">io_service.hpp</a>
+<li>LLFIO_DEADLINE_TO_PARTIAL_DEADLINE
+: <a class="el" href="deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT
+: <a class="el" href="deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_SLEEP_INIT
+: <a class="el" href="deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4">deadline.h</a>
+</li>
+<li>LLFIO_DEADLINE_TO_TIMEOUT_LOOP
+: <a class="el" href="deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba">deadline.h</a>
</li>
<li>LLFIO_DISABLE_PATHS_IN_FAILURE_INFO
: <a class="el" href="config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a">config.hpp</a>
@@ -111,9 +122,6 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<li>LLFIO_EXPERIMENTAL_STATUS_CODE
: <a class="el" href="config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559">config.hpp</a>
</li>
-<li>LLFIO_HAVE_REALTIME_SIGNALS
-: <a class="el" href="io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773">io_service.hpp</a>
-</li>
<li>LLFIO_HEADERS_ONLY
: <a class="el" href="group__config.html#ga5365e6c96107a8e7edf6030462562cae">config.hpp</a>
</li>
@@ -129,9 +137,6 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<li>LLFIO_HEADERS_PATH
: <a class="el" href="llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65">llfio.hpp</a>
</li>
-<li>LLFIO_IO_POST_SIGNAL
-: <a class="el" href="io__service_8hpp.html#af5cfb661784f372559747708772b9106">io_service.hpp</a>
-</li>
<li>LLFIO_LOG_BACKTRACE_LEVELS
: <a class="el" href="group__config.html#ga799d6ef19b741b67d019652e4acc271f">config.hpp</a>
</li>
@@ -154,9 +159,6 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<li>LLFIO_UNSTABLE_VERSION
: <a class="el" href="group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706">version.hpp</a>
</li>
-<li>LLFIO_USE_POSIX_AIO
-: <a class="el" href="io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280">io_service.hpp</a>
-</li>
<li>LLFIO_V2
: <a class="el" href="group__config.html#gabb964a24682a722a7eaad891ee497a61">config.hpp</a>
</li>
@@ -192,7 +194,7 @@ $(document).ready(function(){initNavTree('globals_defs.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/group__config.html b/group__config.html
index b8abe3b6..cef9b0e1 100644
--- a/group__config.html
+++ b/group__config.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Configuration macros</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('group__config.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('group__config.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -118,10 +120,10 @@ Macros</h2></td></tr>
<tr class="memdesc:ga8a15603141e848a1816c1758b9436287"><td class="mdescLeft">&#160;</td><td class="mdescRight">The namespace of this kv store v1 which will be some unknown inline namespace starting with <code>v1_</code> inside the <code>kvstore</code> namespace. <br /></td></tr>
<tr class="separator:ga8a15603141e848a1816c1758b9436287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86edeb2887d8f97f8b93005f08e46c80"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga86edeb2887d8f97f8b93005f08e46c80">KVSTORE_V1_NAMESPACE_BEGIN</a></td></tr>
-<tr class="memdesc:ga86edeb2887d8f97f8b93005f08e46c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the kv store v1 namespace. <a href="#ga86edeb2887d8f97f8b93005f08e46c80">More...</a><br /></td></tr>
+<tr class="memdesc:ga86edeb2887d8f97f8b93005f08e46c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the kv store v1 namespace. <a href="group__config.html#ga86edeb2887d8f97f8b93005f08e46c80">More...</a><br /></td></tr>
<tr class="separator:ga86edeb2887d8f97f8b93005f08e46c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d39516e3f1380b0d2906629a8add07c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga1d39516e3f1380b0d2906629a8add07c">KVSTORE_V1_NAMESPACE_EXPORT_BEGIN</a></td></tr>
-<tr class="memdesc:ga1d39516e3f1380b0d2906629a8add07c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the C++ module exported kv store v1 namespace. <a href="#ga1d39516e3f1380b0d2906629a8add07c">More...</a><br /></td></tr>
+<tr class="memdesc:ga1d39516e3f1380b0d2906629a8add07c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the C++ module exported kv store v1 namespace. <a href="group__config.html#ga1d39516e3f1380b0d2906629a8add07c">More...</a><br /></td></tr>
<tr class="separator:ga1d39516e3f1380b0d2906629a8add07c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga797a3aa85bda51271100fe47cecf2058"><td class="memItemLeft" align="right" valign="top"><a id="ga797a3aa85bda51271100fe47cecf2058"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga797a3aa85bda51271100fe47cecf2058">KVSTORE_V1_NAMESPACE_END</a>&#160;&#160;&#160;}</td></tr>
@@ -129,7 +131,7 @@ Macros</h2></td></tr>
<tr class="separator:ga797a3aa85bda51271100fe47cecf2058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5365e6c96107a8e7edf6030462562cae"><td class="memItemLeft" align="right" valign="top"><a id="ga5365e6c96107a8e7edf6030462562cae"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga5365e6c96107a8e7edf6030462562cae">LLFIO_HEADERS_ONLY</a>&#160;&#160;&#160;1</td></tr>
-<tr class="memdesc:ga5365e6c96107a8e7edf6030462562cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether LLFIO is a headers only library. Defaults to 1 unless BOOST_ALL_DYN_LINK is defined. <br /></td></tr>
+<tr class="memdesc:ga5365e6c96107a8e7edf6030462562cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether LLFIO is a headers only library. Defaults to 1. <br /></td></tr>
<tr class="separator:ga5365e6c96107a8e7edf6030462562cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf958c6b17b345d3b84043bf7352451f2"><td class="memItemLeft" align="right" valign="top"><a id="gaf958c6b17b345d3b84043bf7352451f2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gaf958c6b17b345d3b84043bf7352451f2">LLFIO_LOGGING_LEVEL</a>&#160;&#160;&#160;3</td></tr>
@@ -152,10 +154,10 @@ Macros</h2></td></tr>
<tr class="memdesc:gac9f7f0153adb9034d26c4554728f817a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The namespace of this LLFIO v2 which will be some unknown inline namespace starting with <code>v2_</code> inside the <code>boost::llfio</code> namespace. <br /></td></tr>
<tr class="separator:gac9f7f0153adb9034d26c4554728f817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1eb04a1ef4089291c04f60a66b9849e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gae1eb04a1ef4089291c04f60a66b9849e">LLFIO_V2_NAMESPACE_BEGIN</a></td></tr>
-<tr class="memdesc:gae1eb04a1ef4089291c04f60a66b9849e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the LLFIO v2 namespace. <a href="#gae1eb04a1ef4089291c04f60a66b9849e">More...</a><br /></td></tr>
+<tr class="memdesc:gae1eb04a1ef4089291c04f60a66b9849e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the LLFIO v2 namespace. <a href="group__config.html#gae1eb04a1ef4089291c04f60a66b9849e">More...</a><br /></td></tr>
<tr class="separator:gae1eb04a1ef4089291c04f60a66b9849e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f82803f0ce479a2993d3b7696db8d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#gab2f82803f0ce479a2993d3b7696db8d3">LLFIO_V2_NAMESPACE_EXPORT_BEGIN</a></td></tr>
-<tr class="memdesc:gab2f82803f0ce479a2993d3b7696db8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the C++ module exported LLFIO v2 namespace. <a href="#gab2f82803f0ce479a2993d3b7696db8d3">More...</a><br /></td></tr>
+<tr class="memdesc:gab2f82803f0ce479a2993d3b7696db8d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands into the appropriate namespace markup to enter the C++ module exported LLFIO v2 namespace. <a href="group__config.html#gab2f82803f0ce479a2993d3b7696db8d3">More...</a><br /></td></tr>
<tr class="separator:gab2f82803f0ce479a2993d3b7696db8d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84df5d479525cd6b58f873c2f9869b22"><td class="memItemLeft" align="right" valign="top"><a id="ga84df5d479525cd6b58f873c2f9869b22"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__config.html#ga84df5d479525cd6b58f873c2f9869b22">LLFIO_V2_NAMESPACE_END</a>&#160;&#160;&#160;}</td></tr>
@@ -187,7 +189,8 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:47</div></div>
+<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div>
+<div class="line"> {</div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the kv store v1 namespace. </p>
@@ -204,7 +207,8 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">export <span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:47</div></div>
+<b>Value:</b><div class="fragment"><div class="line"> export <span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div>
+<div class="line"> {</div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the C++ module exported kv store v1 namespace. </p>
@@ -221,7 +225,8 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacellfio__v2__xxx_html"><div class="ttname"><a href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></div><div class="ttdoc">The LLFIO namespace. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:33</div></div>
+<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> \</div>
+<div class="line"> {</div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the LLFIO v2 namespace. </p>
@@ -238,7 +243,8 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">export <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacellfio__v2__xxx_html"><div class="ttname"><a href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></div><div class="ttdoc">The LLFIO namespace. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:33</div></div>
+<b>Value:</b><div class="fragment"><div class="line"> export <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> \</div>
+<div class="line"> {</div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the C++ module exported LLFIO v2 namespace. </p>
@@ -246,12 +252,14 @@ Macros</h2></td></tr>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace.</div><div class="ttdef"><b>Definition:</b> kvstore.hpp:47</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html"><div class="ttname"><a href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></div><div class="ttdoc">The LLFIO namespace.</div><div class="ttdef"><b>Definition:</b> config.hpp:159</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/handle_8hpp.html b/handle_8hpp.html
index 2ac7d077..651771f6 100644
--- a/handle_8hpp.html
+++ b/handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('handle_8hpp.html','');});
<div class="title">handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides handle.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="deadline_8h.html">deadline.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="native__handle__type_8hpp.html">native_handle_type.hpp</a>&quot;</code><br />
<code>#include &quot;status_code.hpp&quot;</code><br />
@@ -129,6 +128,10 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v
<tr class="memitem:a56405b7c7f5ca46e6564ce295a87fc87"><td class="memItemLeft" align="right" valign="top"><a id="a56405b7c7f5ca46e6564ce295a87fc87"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator&lt;&lt;</b> (std::ostream &amp;s, const handle::flag &amp;v)</td></tr>
<tr class="separator:a56405b7c7f5ca46e6564ce295a87fc87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a286da8606a5eb74cf26dcc9838c49ae8"><td class="memTemplParams" colspan="2"><a id="a286da8606a5eb74cf26dcc9838c49ae8"></a>
+template&lt;class Dest , class Src &gt; </td></tr>
+<tr class="memitem:a286da8606a5eb74cf26dcc9838c49ae8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::fill_failure_info</b> (Dest &amp;dest, const Src &amp;src)</td></tr>
+<tr class="separator:a286da8606a5eb74cf26dcc9838c49ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a6e1add1783bc959c4954ac92300f8"><td class="memTemplParams" colspan="2"><a id="a72a6e1add1783bc959c4954ac92300f8"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a72a6e1add1783bc959c4954ac92300f8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::log_inst_to_info</b> (const handle *inst, const char *buffer)</td></tr>
@@ -143,7 +146,7 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="separator:af6109ac3bc59d2b15edcded08060d1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides handle. </p>
+<div class="textblock"><p>Provides handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -152,7 +155,7 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="handle_8hpp.html">handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/handle_8hpp.js b/handle_8hpp.js
index e9a8b23f..a03f7a22 100644
--- a/handle_8hpp.js
+++ b/handle_8hpp.js
@@ -3,11 +3,12 @@ var handle_8hpp =
[ "handle", "classllfio__v2__xxx_1_1handle.html", "classllfio__v2__xxx_1_1handle" ],
[ "construct", "structllfio__v2__xxx_1_1construct.html", "structllfio__v2__xxx_1_1construct" ],
[ "close", "handle_8hpp.html#af6109ac3bc59d2b15edcded08060d1b0", null ],
+ [ "fill_failure_info", "handle_8hpp.html#a286da8606a5eb74cf26dcc9838c49ae8", null ],
[ "log_inst_to_info", "handle_8hpp.html#a72a6e1add1783bc959c4954ac92300f8", null ],
[ "operator<<", "handle_8hpp.html#ae33af5701ff0ec4573bd72c7e71a04cf", null ],
- [ "operator<<", "handle_8hpp.html#a869dd7b04685be755d854dea281f84c6", null ],
- [ "operator<<", "handle_8hpp.html#ac28600985804a8c72434b65533c1b84d", null ],
[ "operator<<", "handle_8hpp.html#a4888fb3be6e332367f3ee046f869a8f8", null ],
+ [ "operator<<", "handle_8hpp.html#ac28600985804a8c72434b65533c1b84d", null ],
[ "operator<<", "handle_8hpp.html#a56405b7c7f5ca46e6564ce295a87fc87", null ],
+ [ "operator<<", "handle_8hpp.html#a869dd7b04685be755d854dea281f84c6", null ],
[ "swap", "handle_8hpp.html#aa2eeaa1b9280d05b18b7e6d505c289fb", null ]
]; \ No newline at end of file
diff --git a/hierarchy.html b/hierarchy.html
index 342e7b64..252e2985 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('hierarchy.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('hierarchy.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,111 +87,152 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
-<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;::_entity_idx</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html" target="_self">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a></td><td class="desc">Type sugar to tell <code>co_await</code> what to do </td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html" target="_self">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html" target="_self">kvstore_v1_xxx::basic_key_value_store</a></td><td class="desc">A possibly hardware-implemented basic key-value store </td></tr>
-<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html" target="_self">kvstore_v1_xxx::basic_key_value_store::transaction</a></td><td class="desc"></td></tr>
-<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html" target="_self">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="desc">Information about an available key value store implementation </td></tr>
-<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html" target="_self">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="desc"></td></tr>
-<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html" target="_self">llfio_v2_xxx::symlink_handle::buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html" target="_self">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="desc"></td></tr>
-<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html" target="_self">llfio_v2_xxx::symlink_handle::const_buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct.html" target="_self">llfio_v2_xxx::construct&lt; T &gt;</a></td><td class="desc">Metaprogramming shim for constructing any <code>handle</code> subclass </td></tr>
-<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html" target="_self">llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td><td class="desc">Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> </td></tr>
-<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="desc">Constructor for <code>async_file_handle</code> </td></tr>
-<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; directory_handle &gt;</a></td><td class="desc">Constructor for <code>directory_handle</code> </td></tr>
-<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; fast_random_file_handle &gt;</a></td><td class="desc">Constructor for <code>fast_random_file_handle</code> </td></tr>
-<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; file_handle &gt;</a></td><td class="desc">Constructor for <code>file_handle</code> </td></tr>
-<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; map_handle &gt;</a></td><td class="desc">Constructor for <code>map_handle</code> </td></tr>
-<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; mapped_file_handle &gt;</a></td><td class="desc">Constructor for <code>mapped_file_handle</code> </td></tr>
-<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; path_handle &gt;</a></td><td class="desc">Constructor for <code>path_handle</code> </td></tr>
-<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; section_handle &gt;</a></td><td class="desc">Constructor for <code>section_handle</code> </td></tr>
-<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; symlink_handle &gt;</a></td><td class="desc">Constructor for <code>symlink_handle</code> </td></tr>
-<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1deadline.html" target="_self">llfio_v2_xxx::deadline</a></td><td class="desc">A time deadline in either relative-to-now or absolute (system clock) terms </td></tr>
-<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html" target="_self">llfio_v2_xxx::directory_entry</a></td><td class="desc"></td></tr>
-<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html" target="_self">llfio_v2_xxx::path_discovery::discovered_path</a></td><td class="desc">A discovered path </td></tr>
-<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a></td><td class="desc">RAII holder for a lock on a sequence of entities </td></tr>
-<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a></td><td class="desc">The type of an entity id </td></tr>
-<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1error__info.html" target="_self">llfio_v2_xxx::error_info</a></td><td class="desc">The cause of the failure of an operation in LLFIO </td></tr>
-<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html" target="_self">llfio_v2_xxx::file_handle::extent_guard</a></td><td class="desc">EXTENSION: RAII holder a locked extent of bytes in a file </td></tr>
-<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html" target="_self">llfio_v2_xxx::statfs_t::f_flags_t</a></td><td class="desc"></td></tr>
-<tr id="row_28_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_28_" class="arrow" onclick="toggleFolder('28_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>filesystem_error</b></td><td class="desc"></td></tr>
-<tr id="row_28_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1error.html" target="_self">llfio_v2_xxx::error</a></td><td class="desc">The exception type synthesised and thrown when an <code>llfio::result</code> or <code>llfio::outcome</code> is no-value observed </td></tr>
-<tr id="row_29_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_29_" class="arrow" onclick="toggleFolder('29_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html" target="_self">llfio_v2_xxx::fs_handle</a></td><td class="desc">A handle to something with a device and inode number </td></tr>
-<tr id="row_29_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">llfio_v2_xxx::directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
-<tr id="row_29_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_29_1_" class="arrow" onclick="toggleFolder('29_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">llfio_v2_xxx::file_handle</a></td><td class="desc">A handle to a regular file or device, kept data layout compatible with async_file_handle </td></tr>
-<tr id="row_29_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html" target="_self">llfio_v2_xxx::async_file_handle</a></td><td class="desc">An asynchronous handle to an open something </td></tr>
-<tr id="row_29_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html" target="_self">llfio_v2_xxx::fast_random_file_handle</a></td><td class="desc">A handle to synthesised, non-cryptographic, pseudo-random data </td></tr>
-<tr id="row_29_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html" target="_self">llfio_v2_xxx::mapped_file_handle</a></td><td class="desc">A memory mapped regular file or device </td></tr>
-<tr id="row_29_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">llfio_v2_xxx::symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
-<tr id="row_30_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_30_" class="arrow" onclick="toggleFolder('30_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1handle.html" target="_self">llfio_v2_xxx::handle</a></td><td class="desc">A native_handle_type which is managed by the lifetime of this object instance </td></tr>
-<tr id="row_30_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_30_0_" class="arrow" onclick="toggleFolder('30_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__handle.html" target="_self">llfio_v2_xxx::io_handle</a></td><td class="desc">A handle to something capable of scatter-gather i/o </td></tr>
-<tr id="row_30_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">llfio_v2_xxx::file_handle</a></td><td class="desc">A handle to a regular file or device, kept data layout compatible with async_file_handle </td></tr>
-<tr id="row_30_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1map__handle.html" target="_self">llfio_v2_xxx::map_handle</a></td><td class="desc">A handle to a memory mapped region of memory, either backed by the system page file or by a section </td></tr>
-<tr id="row_30_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_30_1_" class="arrow" onclick="toggleFolder('30_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__handle.html" target="_self">llfio_v2_xxx::path_handle</a></td><td class="desc">A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island </td></tr>
-<tr id="row_30_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">llfio_v2_xxx::directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
-<tr id="row_30_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1section__handle.html" target="_self">llfio_v2_xxx::section_handle</a></td><td class="desc">A handle to a source of mapped memory </td></tr>
-<tr id="row_30_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">llfio_v2_xxx::symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
-<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html" target="_self">llfio_v2_xxx::directory_handle::io_request&lt; class &gt;</a></td><td class="desc">The i/o request type used by this handle </td></tr>
-<tr id="row_32_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html" target="_self">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td><td class="desc">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code> </td></tr>
-<tr id="row_33_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;</a></td><td class="desc">The i/o request type used by this handle </td></tr>
-<tr id="row_34_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for reading symlinks </td></tr>
-<tr id="row_35_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for writing symlinks </td></tr>
-<tr id="row_36_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__service.html" target="_self">llfio_v2_xxx::io_service</a></td><td class="desc">An asynchronous i/o multiplexer service </td></tr>
-<tr id="row_37_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html" target="_self">kvstore_v1_xxx::traits::is_attachable&lt; T, AttachResultType &gt;</a></td><td class="desc">True if a type is trivially attachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_attach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
-<tr id="row_38_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html" target="_self">kvstore_v1_xxx::traits::is_detachable&lt; T, DetachResultType &gt;</a></td><td class="desc">True if a type is trivially detachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_detach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
-<tr id="row_39_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html" target="_self">kvstore_v1_xxx::traits::is_trivially_attachable&lt; T &gt;</a></td><td class="desc">True if a type is trivially attachable i.e. requires no extra work to attach </td></tr>
-<tr id="row_40_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html" target="_self">kvstore_v1_xxx::traits::is_trivially_detachable&lt; T &gt;</a></td><td class="desc">True if a type is trivially detachable i.e. requires no extra work to detach </td></tr>
-<tr id="row_41_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_41_" class="arrow" onclick="toggleFolder('41_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" target="_self">llfio_v2_xxx::storage_profile::item_base</a></td><td class="desc">Common base class for items </td></tr>
-<tr id="row_41_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; float &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_41_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; io_service::extent_type &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_41_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; std::string &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_41_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; unsigned &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_41_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; unsigned long long &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_41_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a></td><td class="desc">A tag-value item in the storage profile where T is the type of value stored </td></tr>
-<tr id="row_41_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" target="_self">llfio_v2_xxx::storage_profile::item_erased</a></td><td class="desc">A type erased tag-value item </td></tr>
-<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html" target="_self">llfio_v2_xxx::log_level_guard</a></td><td class="desc">RAII class for temporarily adjusting the log level </td></tr>
-<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html" target="_self">llfio_v2_xxx::native_handle_type</a></td><td class="desc">A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage </td></tr>
-<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; T &gt;</a></td><td class="desc">An STL allocator which allocates large TLB page memory.If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified </td></tr>
-<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; void &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html" target="_self">llfio_v2_xxx::path_hasher</a></td><td class="desc"></td></tr>
-<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view.html" target="_self">llfio_v2_xxx::path_view</a></td><td class="desc">A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code> </td></tr>
-<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html" target="_self">llfio_v2_xxx::path_view_component</a></td><td class="desc">An iterated part of a <code>path_view</code> </td></tr>
-<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_51_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_51_" class="arrow" onclick="toggleFolder('51_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>result</b></td><td class="desc"></td></tr>
-<tr id="row_51_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; buffers_type &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_51_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; const_buffers_type &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_51_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
-<tr id="row_52_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html" target="_self">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="desc"></td></tr>
-<tr id="row_53_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_53_" class="arrow" onclick="toggleFolder('53_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a></td><td class="desc">Abstract base class for an object which protects shared filing system resources </td></tr>
-<tr id="row_53_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a></td><td class="desc">Scalable many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_53_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a></td><td class="desc">Many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_53_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a></td><td class="desc">Many entity exclusive compatibility file system based lock </td></tr>
-<tr id="row_53_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a></td><td class="desc">Many entity memory mapped shared/exclusive file system based lock </td></tr>
-<tr id="row_53_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a></td><td class="desc">Safe many entity shared/exclusive file system based lock </td></tr>
-<tr id="row_54_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_54_" class="arrow" onclick="toggleFolder('54_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>small_prng</b></td><td class="desc"></td></tr>
-<tr id="row_54_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html" target="_self">llfio_v2_xxx::fast_random_file_handle::prng</a></td><td class="desc"></td></tr>
-<tr id="row_55_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_55_" class="arrow" onclick="toggleFolder('55_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>span</b></td><td class="desc"></td></tr>
-<tr id="row_55_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html" target="_self">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="desc"></td></tr>
-<tr id="row_55_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped.html" target="_self">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="desc">Provides an owning, typed view of memory mapped from a <code>section_handle</code> or a <code>file_handle</code> suitable for feeding to STL algorithms or the Ranges TS </td></tr>
-<tr id="row_56_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1stat__t.html" target="_self">llfio_v2_xxx::stat_t</a></td><td class="desc">Metadata about a directory entry </td></tr>
-<tr id="row_57_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html" target="_self">llfio_v2_xxx::statfs_t</a></td><td class="desc">Metadata about a filing system. Unsupported entries are all bits set </td></tr>
-<tr id="row_58_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html" target="_self">llfio_v2_xxx::storage_profile::storage_profile</a></td><td class="desc">A (possibly incomplet) profile of storage </td></tr>
-<tr id="row_59_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_59_" class="arrow" onclick="toggleFolder('59_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>T</b></td><td class="desc"></td></tr>
-<tr id="row_59_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html" target="_self">llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;</a></td><td class="desc">Adapts any <code>construct()</code>-able implementation to cache its parent directory handle in a process wide cache </td></tr>
-<tr id="row_60_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_60_" class="arrow" onclick="toggleFolder('60_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>template override_&lt; detail::combining_handle_adapter_base&lt; Op, Target, Source, detail::combining_handle_adapter_choose_base&lt; Target, Source &gt; &gt; &gt;</b></td><td class="desc"></td></tr>
-<tr id="row_60_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html" target="_self">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="desc">A handle combining the data from one or two other handles </td></tr>
-<tr id="row_61_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_62_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_62_" class="arrow" onclick="toggleFolder('62_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; false, T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_62_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_62_0_" class="arrow" onclick="toggleFolder('62_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_62_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html" target="_self">llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt;</a></td><td class="desc">Provides a constant time capacity expanding move-only STL vector. Requires <code>T</code> to be trivially copyable </td></tr>
-<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_64_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_64_" class="arrow" onclick="toggleFolder('64_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>true_type</b></td><td class="desc"></td></tr>
-<tr id="row_64_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html" target="_self">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_64_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html" target="_self">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a></td><td class="desc"></td></tr>
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html" target="_self">llfio_v2_xxx::process_handle::_byte_array_deleter</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;::_entity_idx</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html" target="_self">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a></td><td class="desc">Storage for a barrier i/o, the buffers to flush </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html" target="_self">kvstore_v1_xxx::basic_key_value_store</a></td><td class="desc">A possibly hardware-implemented basic key-value store </td></tr>
+<tr id="row_4_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html" target="_self">kvstore_v1_xxx::basic_key_value_store::transaction</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html" target="_self">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="desc">Information about an available key value store implementation </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html" target="_self">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html" target="_self">llfio_v2_xxx::symlink_handle::buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html" target="_self">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a></td><td class="desc">Statistics about the just returned <code>wait_for_completed_io()</code> operation </td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html" target="_self">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html" target="_self">llfio_v2_xxx::symlink_handle::const_buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct.html" target="_self">llfio_v2_xxx::construct&lt; T &gt;</a></td><td class="desc">Metaprogramming shim for constructing any <code>handle</code> subclass </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html" target="_self">llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td><td class="desc">Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code> </td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; directory_handle &gt;</a></td><td class="desc">Constructor for <code>directory_handle</code> </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; fast_random_file_handle &gt;</a></td><td class="desc">Constructor for <code>fast_random_file_handle</code> </td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; file_handle &gt;</a></td><td class="desc">Constructor for <code>file_handle</code> </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; map_handle &gt;</a></td><td class="desc">Constructor for <code>map_handle</code> </td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; mapped_file_handle &gt;</a></td><td class="desc">Constructor for <code>mapped_file_handle</code> </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; path_handle &gt;</a></td><td class="desc">Constructor for <code>path_handle</code> </td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="desc">Constructor for <code>pipe_handle</code> </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="desc">Constructor for <code>process_handle</code> </td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; section_handle &gt;</a></td><td class="desc">Constructor for <code>section_handle</code> </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html" target="_self">llfio_v2_xxx::construct&lt; symlink_handle &gt;</a></td><td class="desc">Constructor for <code>symlink_handle</code> </td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1deadline.html" target="_self">llfio_v2_xxx::deadline</a></td><td class="desc">A time deadline in either relative-to-now or absolute (system clock) terms </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html" target="_self">llfio_v2_xxx::algorithm::difference_item</a></td><td class="desc"></td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html" target="_self">llfio_v2_xxx::directory_entry</a></td><td class="desc"></td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html" target="_self">llfio_v2_xxx::path_discovery::discovered_path</a></td><td class="desc">A discovered path </td></tr>
+<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html" target="_self">llfio_v2_xxx::dynamic_thread_pool_group</a></td><td class="desc">Work group within the global dynamic thread pool </td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_28_" class="arrow" onclick="toggleFolder('28_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>enable_shared_from_this</b></td><td class="desc"></td></tr>
+<tr id="row_28_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html" target="_self">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard</a></td><td class="desc">RAII holder for a lock on a sequence of entities </td></tr>
+<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a></td><td class="desc">The type of an entity id </td></tr>
+<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1error__info.html" target="_self">llfio_v2_xxx::error_info</a></td><td class="desc">The cause of the failure of an operation in LLFIO </td></tr>
+<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1executor.html" target="_self">llfio_v2_xxx::executor</a></td><td class="desc">Some implementation of a C++ Executor </td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html" target="_self">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td><td class="desc">EXTENSION: RAII holder a locked extent of bytes in a file </td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html" target="_self">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="desc">A pair of valid extents </td></tr>
+<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html" target="_self">llfio_v2_xxx::statfs_t::f_flags_t</a></td><td class="desc"></td></tr>
+<tr id="row_36_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_36_" class="arrow" onclick="toggleFolder('36_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>filesystem_error</b></td><td class="desc"></td></tr>
+<tr id="row_36_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1error.html" target="_self">llfio_v2_xxx::error</a></td><td class="desc">The exception type synthesised and thrown when an <code>llfio::result</code> or <code>llfio::outcome</code> is no-value observed </td></tr>
+<tr id="row_37_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_37_" class="arrow" onclick="toggleFolder('37_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html" target="_self">llfio_v2_xxx::fs_handle</a></td><td class="desc">A handle to something with a device and inode number </td></tr>
+<tr id="row_37_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">llfio_v2_xxx::directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
+<tr id="row_37_1_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_37_1_" class="arrow" onclick="toggleFolder('37_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">llfio_v2_xxx::file_handle</a></td><td class="desc">A handle to a regular file or device </td></tr>
+<tr id="row_37_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html" target="_self">llfio_v2_xxx::fast_random_file_handle</a></td><td class="desc">A handle to synthesised, non-cryptographic, pseudo-random data </td></tr>
+<tr id="row_37_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html" target="_self">llfio_v2_xxx::mapped_file_handle</a></td><td class="desc">A memory mapped regular file or device </td></tr>
+<tr id="row_37_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html" target="_self">llfio_v2_xxx::pipe_handle</a></td><td class="desc">A handle to a named or anonymous pipe </td></tr>
+<tr id="row_37_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">llfio_v2_xxx::symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
+<tr id="row_38_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_38_" class="arrow" onclick="toggleFolder('38_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1handle.html" target="_self">llfio_v2_xxx::handle</a></td><td class="desc">A native_handle_type which is managed by the lifetime of this object instance </td></tr>
+<tr id="row_38_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html" target="_self">llfio_v2_xxx::awaitable_handle&lt; IoHandleType &gt;</a></td><td class="desc">An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed </td></tr>
+<tr id="row_38_1_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_38_1_" class="arrow" onclick="toggleFolder('38_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__handle.html" target="_self">llfio_v2_xxx::io_handle</a></td><td class="desc">A handle to something capable of scatter-gather byte i/o </td></tr>
+<tr id="row_38_1_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_38_1_0_" class="arrow" onclick="toggleFolder('38_1_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html" target="_self">llfio_v2_xxx::lockable_io_handle</a></td><td class="desc">A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread </td></tr>
+<tr id="row_38_1_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1file__handle.html" target="_self">llfio_v2_xxx::file_handle</a></td><td class="desc">A handle to a regular file or device </td></tr>
+<tr id="row_38_1_0_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1map__handle.html" target="_self">llfio_v2_xxx::map_handle</a></td><td class="desc">A handle to a memory mapped region of memory, either backed by the system page file or by a section </td></tr>
+<tr id="row_38_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html" target="_self">llfio_v2_xxx::pipe_handle</a></td><td class="desc">A handle to a named or anonymous pipe </td></tr>
+<tr id="row_38_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html" target="_self">llfio_v2_xxx::io_multiplexer</a></td><td class="desc">A multiplexer of byte-orientated i/o </td></tr>
+<tr id="row_38_3_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_38_3_" class="arrow" onclick="toggleFolder('38_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__handle.html" target="_self">llfio_v2_xxx::path_handle</a></td><td class="desc">A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island </td></tr>
+<tr id="row_38_3_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html" target="_self">llfio_v2_xxx::directory_handle</a></td><td class="desc">A handle to a directory which can be enumerated </td></tr>
+<tr id="row_38_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1process__handle.html" target="_self">llfio_v2_xxx::process_handle</a></td><td class="desc">A handle to this, or another, process </td></tr>
+<tr id="row_38_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1section__handle.html" target="_self">llfio_v2_xxx::section_handle</a></td><td class="desc">A handle to a source of mapped memory </td></tr>
+<tr id="row_38_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html" target="_self">llfio_v2_xxx::symlink_handle</a></td><td class="desc">A handle to an inode which redirects to a different path </td></tr>
+<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html" target="_self">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="desc">Information about an i/o handle this work item will use </td></tr>
+<tr id="row_40_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_40_" class="arrow" onclick="toggleFolder('40_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html" target="_self">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="desc">An interface to a state for an i/o operation scheduled against an i/o multiplexer </td></tr>
+<tr id="row_40_0_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_40_0_" class="arrow" onclick="toggleFolder('40_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="desc">An unsynchronised i/o operation state </td></tr>
+<tr id="row_40_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html" target="_self">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="desc">A synchronised i/o operation state </td></tr>
+<tr id="row_41_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_41_" class="arrow" onclick="toggleFolder('41_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html" target="_self">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="desc">Called by an i/o operation state to inform you of state change. Note that the i/o operation state lock is HELD during these calls! </td></tr>
+<tr id="row_41_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html" target="_self">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="desc">A convenience coroutine awaitable type returned by <code>.co_read()</code>, <code>.co_write()</code> and <code>.co_barrier()</code>. <b>Blocks execution</b> if no i/o multiplexer has been set on this handle! </td></tr>
+<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;</a></td><td class="desc">The i/o request type used by this handle </td></tr>
+<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html" target="_self">llfio_v2_xxx::directory_handle::io_request&lt; class &gt;</a></td><td class="desc">The i/o request type used by this handle </td></tr>
+<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html" target="_self">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a></td><td class="desc">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code> </td></tr>
+<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html" target="_self">llfio_v2_xxx::io_multiplexer::io_request&lt; buffers_type &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for reading symlinks </td></tr>
+<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html" target="_self">llfio_v2_xxx::io_multiplexer::io_request&lt; const_buffers_type &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html" target="_self">llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;</a></td><td class="desc">Specialisation for writing symlinks </td></tr>
+<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html" target="_self">kvstore_v1_xxx::traits::is_attachable&lt; T, AttachResultType &gt;</a></td><td class="desc">True if a type is trivially attachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_attach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
+<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html" target="_self">kvstore_v1_xxx::traits::is_detachable&lt; T, DetachResultType &gt;</a></td><td class="desc">True if a type is trivially detachable, or has defined an ADL discovered free function of the form <code>span&lt;byte&gt; in_place_detach&lt;T&gt;(span&lt;byte&gt;)</code> </td></tr>
+<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html" target="_self">kvstore_v1_xxx::traits::is_trivially_attachable&lt; T &gt;</a></td><td class="desc">True if a type is trivially attachable i.e. requires no extra work to attach </td></tr>
+<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html" target="_self">kvstore_v1_xxx::traits::is_trivially_detachable&lt; T &gt;</a></td><td class="desc">True if a type is trivially detachable i.e. requires no extra work to detach </td></tr>
+<tr id="row_53_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_53_" class="arrow" onclick="toggleFolder('53_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" target="_self">llfio_v2_xxx::storage_profile::item_base</a></td><td class="desc">Common base class for items </td></tr>
+<tr id="row_53_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; float &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_53_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; io_handle::extent_type &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_53_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; std::string &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_53_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; unsigned &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_53_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; unsigned long long &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_53_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" target="_self">llfio_v2_xxx::storage_profile::item&lt; T &gt;</a></td><td class="desc">A tag-value item in the storage profile where T is the type of value stored </td></tr>
+<tr id="row_53_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" target="_self">llfio_v2_xxx::storage_profile::item_erased</a></td><td class="desc">A type erased tag-value item </td></tr>
+<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html" target="_self">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="desc">Used by the visitor to control the state lock </td></tr>
+<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html" target="_self">llfio_v2_xxx::log_level_guard</a></td><td class="desc">RAII class for temporarily adjusting the log level for the current thread </td></tr>
+<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html" target="_self">llfio_v2_xxx::native_handle_type</a></td><td class="desc">A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage </td></tr>
+<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="desc">Storage for non-completed i/o </td></tr>
+<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; T &gt;</a></td><td class="desc">An STL allocator which allocates large TLB page memory </td></tr>
+<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; void &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="desc">Variant storage for the possible kinds of non-completed i/o </td></tr>
+<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html" target="_self">llfio_v2_xxx::path_hasher</a></td><td class="desc"></td></tr>
+<tr id="row_62_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_62_" class="arrow" onclick="toggleFolder('62_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html" target="_self">llfio_v2_xxx::path_view_component</a></td><td class="desc">An iterated part of a <code>path_view</code> </td></tr>
+<tr id="row_62_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1path__view.html" target="_self">llfio_v2_xxx::path_view</a></td><td class="desc">A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code> </td></tr>
+<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="desc">Variant storage </td></tr>
+<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html" target="_self">llfio_v2_xxx::utils::process_memory_usage</a></td><td class="desc">Memory usage statistics for a process </td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a></td><td class="desc">Storage for a read i/o, the buffers to fill </td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html" target="_self">llfio_v2_xxx::read_receiver&lt; IoHandleType &gt;</a></td><td class="desc">A C++ Receiver of an i/o read for an i/o type of <code>IoHandleType</code> </td></tr>
+<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html" target="_self">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind</a></td><td class="desc"></td></tr>
+<tr id="row_69_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_69_" class="arrow" onclick="toggleFolder('69_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>result</b></td><td class="desc"></td></tr>
+<tr id="row_69_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html" target="_self">llfio_v2_xxx::io_multiplexer::io_result&lt; buffers_type &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_69_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html" target="_self">llfio_v2_xxx::io_multiplexer::io_result&lt; const_buffers_type &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_69_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html" target="_self">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
+<tr id="row_70_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_70_" class="arrow" onclick="toggleFolder('70_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a></td><td class="desc">Abstract base class for an object which protects shared filing system resources </td></tr>
+<tr id="row_70_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a></td><td class="desc">Scalable many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_70_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a></td><td class="desc">Many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_70_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a></td><td class="desc">Many entity exclusive compatibility file system based lock </td></tr>
+<tr id="row_70_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a></td><td class="desc">Many entity memory mapped shared/exclusive file system based lock </td></tr>
+<tr id="row_70_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a></td><td class="desc">Safe many entity shared/exclusive file system based lock </td></tr>
+<tr id="row_71_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_71_" class="arrow" onclick="toggleFolder('71_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>small_prng</b></td><td class="desc"></td></tr>
+<tr id="row_71_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html" target="_self">llfio_v2_xxx::fast_random_file_handle::prng</a></td><td class="desc"></td></tr>
+<tr id="row_72_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_72_" class="arrow" onclick="toggleFolder('72_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>span</b></td><td class="desc"></td></tr>
+<tr id="row_72_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html" target="_self">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="desc"></td></tr>
+<tr id="row_72_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html" target="_self">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="desc"></td></tr>
+<tr id="row_72_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1mapped.html" target="_self">llfio_v2_xxx::mapped&lt; T &gt;</a></td><td class="desc">Provides an owning, typed view of memory mapped from a <code>section_handle</code> or a <code>file_handle</code> suitable for feeding to STL algorithms or the Ranges TS </td></tr>
+<tr id="row_73_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1stat__t.html" target="_self">llfio_v2_xxx::stat_t</a></td><td class="desc">Metadata about a directory entry </td></tr>
+<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html" target="_self">llfio_v2_xxx::statfs_t</a></td><td class="desc">Metadata about a filing system. Unsupported entries are all bits set </td></tr>
+<tr id="row_75_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html" target="_self">llfio_v2_xxx::storage_profile::storage_profile</a></td><td class="desc">A (possibly incomplet) profile of storage </td></tr>
+<tr id="row_76_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_76_" class="arrow" onclick="toggleFolder('76_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>T</b></td><td class="desc"></td></tr>
+<tr id="row_76_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html" target="_self">llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;</a></td><td class="desc">Adapts any <code>construct()</code>-able implementation to cache its parent directory handle in a process wide cache </td></tr>
+<tr id="row_77_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_77_" class="arrow" onclick="toggleFolder('77_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>template override_&lt; detail::combining_handle_adapter_base&lt; Op, Target, Source, detail::combining_handle_adapter_choose_base&lt; Target, Source &gt; &gt; &gt;</b></td><td class="desc"></td></tr>
+<tr id="row_77_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html" target="_self">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a></td><td class="desc">A handle combining the data from one or two other handles </td></tr>
+<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html" target="_self">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="desc">A summary of a directory tree </td></tr>
+<tr id="row_79_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_79_" class="arrow" onclick="toggleFolder('79_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" target="_self">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="desc">A visitor for the filesystem traversal algorithm </td></tr>
+<tr id="row_79_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html" target="_self">llfio_v2_xxx::algorithm::compare_visitor</a></td><td class="desc">A visitor for the filesystem traversal and comparison algorithm </td></tr>
+<tr id="row_79_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html" target="_self">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="desc">A visitor for the filesystem contents algorithm </td></tr>
+<tr id="row_79_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html" target="_self">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="desc">A visitor for the filesystem traversal and reduction algorithm </td></tr>
+<tr id="row_79_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html" target="_self">llfio_v2_xxx::algorithm::summarize_visitor</a></td><td class="desc">A visitor for the filesystem traversal and summary algorithm </td></tr>
+<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_81_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_81_" class="arrow" onclick="toggleFolder('81_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; false, T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_81_0_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_81_0_" class="arrow" onclick="toggleFolder('81_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_81_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html" target="_self">llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt;</a></td><td class="desc">Provides a constant time capacity expanding move-only STL vector. Requires <code>T</code> to be trivially copyable </td></tr>
+<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html" target="_self">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_83_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_83_" class="arrow" onclick="toggleFolder('83_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>true_type</b></td><td class="desc"></td></tr>
+<tr id="row_83_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html" target="_self">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_83_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html" target="_self">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html" target="_self">llfio_v2_xxx::unique_file_lock</a></td><td class="desc">RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated </td></tr>
+<tr id="row_85_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_85_" class="arrow" onclick="toggleFolder('85_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>std::vector&lt; T &gt;</b></td><td class="desc">STL class </td></tr>
+<tr id="row_85_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html" target="_self">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a></td><td class="desc">Enumerated contents, and what parts of their <code>stat_t</code> is valid </td></tr>
+<tr id="row_86_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_86_" class="arrow" onclick="toggleFolder('86_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html" target="_self">llfio_v2_xxx::dynamic_thread_pool_group::work_item</a></td><td class="desc">An individual item of work within the work group </td></tr>
+<tr id="row_86_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html" target="_self">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item</a></td><td class="desc">A work item which paces when it next executes according to i/o congestion </td></tr>
+<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html" target="_self">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a></td><td class="desc">Storage for a write i/o, the buffers to drain </td></tr>
+<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html" target="_self">llfio_v2_xxx::write_receiver&lt; IoHandleType &gt;</a></td><td class="desc">A C++ Receiver of an i/o write for an i/o type of <code>IoHandleType</code> </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
@@ -199,7 +242,7 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/hierarchy.js b/hierarchy.js
index c132d6bb..bbb6105d 100644
--- a/hierarchy.js
+++ b/hierarchy.js
@@ -1,34 +1,44 @@
var hierarchy =
[
+ [ "llfio_v2_xxx::process_handle::_byte_array_deleter", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html", null ],
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map< Hasher, HashIndexSize, SpinlockType >::_entity_idx", "structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html", null ],
- [ "llfio_v2_xxx::async_file_handle::awaitable< BuffersType >", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html", null ],
- [ "llfio_v2_xxx::io_service::awaitable_post_to_self", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html", null ],
+ [ "llfio_v2_xxx::algorithm::contents_visitor::_state_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html", null ],
[ "kvstore_v1_xxx::basic_key_value_store", "classkvstore__v1__xxx_1_1basic__key__value__store.html", [
[ "kvstore_v1_xxx::basic_key_value_store::transaction", "classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html", null ]
] ],
[ "kvstore_v1_xxx::basic_key_value_store_info", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html", null ],
- [ "llfio_v2_xxx::io_handle::buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html", null ],
[ "llfio_v2_xxx::symlink_handle::buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html", null ],
- [ "llfio_v2_xxx::io_handle::const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics", "structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html", null ],
[ "llfio_v2_xxx::symlink_handle::const_buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html", null ],
[ "llfio_v2_xxx::construct< T >", "structllfio__v2__xxx_1_1construct.html", null ],
[ "llfio_v2_xxx::construct< algorithm::cached_parent_handle_adapter< T > >", "structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html", null ],
- [ "llfio_v2_xxx::construct< async_file_handle >", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< directory_handle >", "structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< fast_random_file_handle >", "structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< file_handle >", "structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< map_handle >", "structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< mapped_file_handle >", "structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< path_handle >", "structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html", null ],
+ [ "llfio_v2_xxx::construct< pipe_handle >", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html", null ],
+ [ "llfio_v2_xxx::construct< process_handle >", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< section_handle >", "structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html", null ],
[ "llfio_v2_xxx::construct< symlink_handle >", "structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html", null ],
[ "llfio_v2_xxx::deadline", "structllfio__v2__xxx_1_1deadline.html", null ],
+ [ "llfio_v2_xxx::algorithm::difference_item", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html", null ],
[ "llfio_v2_xxx::directory_entry", "structllfio__v2__xxx_1_1directory__entry.html", null ],
[ "llfio_v2_xxx::path_discovery::discovered_path", "structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html", null ],
+ [ "llfio_v2_xxx::dynamic_thread_pool_group", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html", null ],
+ [ "enable_shared_from_this", null, [
+ [ "llfio_v2_xxx::io_multiplexer::_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html", null ]
+ ] ],
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html", null ],
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type", "structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html", null ],
[ "llfio_v2_xxx::error_info", "structllfio__v2__xxx_1_1error__info.html", null ],
- [ "llfio_v2_xxx::file_handle::extent_guard", "classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html", null ],
+ [ "llfio_v2_xxx::executor", "classllfio__v2__xxx_1_1executor.html", null ],
+ [ "llfio_v2_xxx::lockable_io_handle::extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html", null ],
+ [ "llfio_v2_xxx::file_handle::extent_pair", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html", null ],
[ "llfio_v2_xxx::statfs_t::f_flags_t", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html", null ],
[ "filesystem_error", null, [
[ "llfio_v2_xxx::error", "classllfio__v2__xxx_1_1error.html", null ]
@@ -36,57 +46,80 @@ var hierarchy =
[ "llfio_v2_xxx::fs_handle", "classllfio__v2__xxx_1_1fs__handle.html", [
[ "llfio_v2_xxx::directory_handle", "classllfio__v2__xxx_1_1directory__handle.html", null ],
[ "llfio_v2_xxx::file_handle", "classllfio__v2__xxx_1_1file__handle.html", [
- [ "llfio_v2_xxx::async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html", null ],
[ "llfio_v2_xxx::fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html", null ],
[ "llfio_v2_xxx::mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html", null ]
] ],
+ [ "llfio_v2_xxx::pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html", null ],
[ "llfio_v2_xxx::symlink_handle", "classllfio__v2__xxx_1_1symlink__handle.html", null ]
] ],
[ "llfio_v2_xxx::handle", "classllfio__v2__xxx_1_1handle.html", [
+ [ "llfio_v2_xxx::awaitable_handle< IoHandleType >", "classllfio__v2__xxx_1_1awaitable__handle.html", null ],
[ "llfio_v2_xxx::io_handle", "classllfio__v2__xxx_1_1io__handle.html", [
- [ "llfio_v2_xxx::file_handle", "classllfio__v2__xxx_1_1file__handle.html", null ],
- [ "llfio_v2_xxx::map_handle", "classllfio__v2__xxx_1_1map__handle.html", null ]
+ [ "llfio_v2_xxx::lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html", [
+ [ "llfio_v2_xxx::file_handle", "classllfio__v2__xxx_1_1file__handle.html", null ],
+ [ "llfio_v2_xxx::map_handle", "classllfio__v2__xxx_1_1map__handle.html", null ]
+ ] ],
+ [ "llfio_v2_xxx::pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html", null ]
] ],
+ [ "llfio_v2_xxx::io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html", null ],
[ "llfio_v2_xxx::path_handle", "classllfio__v2__xxx_1_1path__handle.html", [
[ "llfio_v2_xxx::directory_handle", "classllfio__v2__xxx_1_1directory__handle.html", null ]
] ],
+ [ "llfio_v2_xxx::process_handle", "classllfio__v2__xxx_1_1process__handle.html", null ],
[ "llfio_v2_xxx::section_handle", "classllfio__v2__xxx_1_1section__handle.html", null ],
[ "llfio_v2_xxx::symlink_handle", "classllfio__v2__xxx_1_1symlink__handle.html", null ]
] ],
- [ "llfio_v2_xxx::directory_handle::io_request< class >", "structllfio__v2__xxx_1_1directory__handle_1_1io__request.html", null ],
- [ "llfio_v2_xxx::io_handle::io_request< T >", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html", null ],
+ [ "llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html", [
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html", [
+ [ "llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html", null ]
+ ] ]
+ ] ],
+ [ "llfio_v2_xxx::io_multiplexer::io_operation_state_visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html", [
+ [ "llfio_v2_xxx::io_multiplexer::awaitable< T >", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html", null ]
+ ] ],
[ "llfio_v2_xxx::symlink_handle::io_request< T, bool >", "structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html", null ],
+ [ "llfio_v2_xxx::directory_handle::io_request< class >", "structllfio__v2__xxx_1_1directory__handle_1_1io__request.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_request< T >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_request< buffers_type >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html", null ],
[ "llfio_v2_xxx::symlink_handle::io_request< buffers_type, ____ >", "structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_request< const_buffers_type >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html", null ],
[ "llfio_v2_xxx::symlink_handle::io_request< const_buffers_type, ____ >", "structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html", null ],
- [ "llfio_v2_xxx::io_service", "classllfio__v2__xxx_1_1io__service.html", null ],
[ "kvstore_v1_xxx::traits::is_attachable< T, AttachResultType >", "structkvstore__v1__xxx_1_1traits_1_1is__attachable.html", null ],
[ "kvstore_v1_xxx::traits::is_detachable< T, DetachResultType >", "structkvstore__v1__xxx_1_1traits_1_1is__detachable.html", null ],
[ "kvstore_v1_xxx::traits::is_trivially_attachable< T >", "structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html", null ],
[ "kvstore_v1_xxx::traits::is_trivially_detachable< T >", "structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html", null ],
[ "llfio_v2_xxx::storage_profile::item_base", "structllfio__v2__xxx_1_1storage__profile_1_1item__base.html", [
[ "llfio_v2_xxx::storage_profile::item< float >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
- [ "llfio_v2_xxx::storage_profile::item< io_service::extent_type >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
+ [ "llfio_v2_xxx::storage_profile::item< io_handle::extent_type >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
[ "llfio_v2_xxx::storage_profile::item< std::string >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
[ "llfio_v2_xxx::storage_profile::item< unsigned >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
[ "llfio_v2_xxx::storage_profile::item< unsigned long long >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
[ "llfio_v2_xxx::storage_profile::item< T >", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", null ],
[ "llfio_v2_xxx::storage_profile::item_erased", "structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html", null ]
] ],
+ [ "llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html", null ],
[ "llfio_v2_xxx::log_level_guard", "classllfio__v2__xxx_1_1log__level__guard.html", null ],
[ "llfio_v2_xxx::native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html", null ],
[ "llfio_v2_xxx::utils::page_allocator< T >", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html", null ],
[ "llfio_v2_xxx::utils::page_allocator< void >", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html", null ],
[ "llfio_v2_xxx::path_hasher", "structllfio__v2__xxx_1_1path__hasher.html", null ],
- [ "llfio_v2_xxx::path_view", "classllfio__v2__xxx_1_1path__view.html", null ],
- [ "llfio_v2_xxx::path_view_component", "classllfio__v2__xxx_1_1path__view__component.html", null ],
- [ "llfio_v2_xxx::utils::page_allocator< void >::rebind< U >", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html", null ],
+ [ "llfio_v2_xxx::path_view_component", "classllfio__v2__xxx_1_1path__view__component.html", [
+ [ "llfio_v2_xxx::path_view", "classllfio__v2__xxx_1_1path__view.html", null ]
+ ] ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html", null ],
+ [ "llfio_v2_xxx::utils::process_memory_usage", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html", null ],
+ [ "llfio_v2_xxx::read_receiver< IoHandleType >", "classllfio__v2__xxx_1_1read__receiver.html", null ],
[ "llfio_v2_xxx::utils::page_allocator< T >::rebind< U >", "structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html", null ],
+ [ "llfio_v2_xxx::utils::page_allocator< void >::rebind", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html", null ],
[ "result", null, [
- [ "llfio_v2_xxx::io_handle::io_result< buffers_type >", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", null ],
- [ "llfio_v2_xxx::io_handle::io_result< const_buffers_type >", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", null ],
- [ "llfio_v2_xxx::io_handle::io_result< T >", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", null ]
+ [ "llfio_v2_xxx::io_multiplexer::io_result< buffers_type >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_result< const_buffers_type >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::io_result< T >", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html", null ]
] ],
- [ "llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html", null ],
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html", [
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html", null ],
[ "llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges", "classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html", null ],
@@ -99,6 +132,7 @@ var hierarchy =
] ],
[ "span", null, [
[ "llfio_v2_xxx::directory_handle::buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html", null ],
+ [ "llfio_v2_xxx::io_multiplexer::_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html", null ],
[ "llfio_v2_xxx::mapped< T >", "classllfio__v2__xxx_1_1mapped.html", null ]
] ],
[ "llfio_v2_xxx::stat_t", "structllfio__v2__xxx_1_1stat__t.html", null ],
@@ -110,6 +144,13 @@ var hierarchy =
[ "template override_< detail::combining_handle_adapter_base< Op, Target, Source, detail::combining_handle_adapter_choose_base< Target, Source > > >", null, [
[ "llfio_v2_xxx::algorithm::combining_handle_adapter< Op, Target, Source >", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html", null ]
] ],
+ [ "llfio_v2_xxx::algorithm::traversal_summary", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html", null ],
+ [ "llfio_v2_xxx::algorithm::traverse_visitor", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html", [
+ [ "llfio_v2_xxx::algorithm::compare_visitor", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html", null ],
+ [ "llfio_v2_xxx::algorithm::contents_visitor", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html", null ],
+ [ "llfio_v2_xxx::algorithm::reduce_visitor", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html", null ],
+ [ "llfio_v2_xxx::algorithm::summarize_visitor", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html", null ]
+ ] ],
[ "llfio_v2_xxx::algorithm::impl::trivial_vector_impl< has_default_construction, T >", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html", null ],
[ "llfio_v2_xxx::algorithm::impl::trivial_vector_impl< false, T >", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html", [
[ "llfio_v2_xxx::algorithm::impl::trivial_vector_impl< true, T >", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html", [
@@ -120,5 +161,14 @@ var hierarchy =
[ "true_type", null, [
[ "in_place_attach_detach::traits::disable_attached_for< llfio_v2_xxx::map_handle >", "structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html", null ],
[ "in_place_attach_detach::traits::disable_attached_for< llfio_v2_xxx::mapped_file_handle >", "structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html", null ]
- ] ]
+ ] ],
+ [ "llfio_v2_xxx::unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html", null ],
+ [ "std::vector< T >", null, [
+ [ "llfio_v2_xxx::algorithm::contents_visitor::contents_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html", null ]
+ ] ],
+ [ "llfio_v2_xxx::dynamic_thread_pool_group::work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html", [
+ [ "llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item", "classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html", null ]
+ ] ],
+ [ "llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html", null ],
+ [ "llfio_v2_xxx::write_receiver< IoHandleType >", "classllfio__v2__xxx_1_1write__receiver.html", null ]
]; \ No newline at end of file
diff --git a/index.html b/index.html
index 57fb9819..41618c8d 100644
--- a/index.html
+++ b/index.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('index.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('index.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -79,32 +81,38 @@ $(document).ready(function(){initNavTree('index.html','');});
</iframe>
</div>
-<div class="header">
+<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">LLFIO Documentation</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><center><table border="0" cellpadding="4">
<tr>
-<td align="center"><a href="https://github.com/ned14/llfio">LLFIO</a><br />
-<a href="https://github.com/ned14/llfio">on GitHub</a> </td><td align="center"><a href="http://my.cdash.org/index.php?project=Boost.AFIO">CTest summary</a><br />
-<a href="http://my.cdash.org/index.php?project=Boost.AFIO">dashboard</a> </td><td align="center"><a href="https://travis-ci.org/ned14/llfio">Linux and MacOS CI:</a><div class="image">
-<img src="https://travis-ci.org/ned14/llfio.svg?branch=master"/>
-</div>
- </td><td align="center"><a href="https://ci.appveyor.com/project/ned14/llfio/branch/master">Windows CI:</a><div class="image">
-<img src="https://ci.appveyor.com/api/projects/status/dfctqfap3kpx89om/branch/master?svg=true"/>
-</div>
- </td><td align="center"><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz">Latest stable</a><br />
-<a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz">sources</a> </td><td align="center"><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Latest stable</a><br />
-<a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">Ubuntu 18.04 x64 prebuilt</a> </td><td align="center"></td><td align="center"><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip">Latest stable</a><br />
-<a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip">VS2017 x64 prebuilt</a> </td></tr>
+<td align="center"><a href="https://github.com/ned14/llfio">LLFIO</a><br />
+<a href="https://github.com/ned14/llfio">on GitHub</a> </td><td align="center"><a href="https://my.cdash.org/index.php?project=Boost.AFIO">CTest summary</a><br />
+<a href="https://my.cdash.org/index.php?project=Boost.AFIO">dashboard</a> </td><td align="center"><a href="https://github.com/ned14/llfio/actions?query=workflow%3A%22Unit+tests+Linux%22">Linux CI:</a><object type="image/svg+xml" data="https://github.com/ned14/llfio/workflows/Unit%20tests%20Linux/badge.svg?branch=master" style="pointer-events: none;"></object> </td><td align="center"><a href="https://github.com/ned14/llfio/actions?query=workflow%3A%22Unit+tests+Mac+OS%22">Mac OS CI:</a><object type="image/svg+xml" data="https://github.com/ned14/llfio/workflows/Unit%20tests%20Mac%20OS/badge.svg?branch=master" style="pointer-events: none;"></object> </td><td align="center"><a href="https://github.com/ned14/llfio/actions?query=workflow%3A%22Unit+tests+Windows%22">Windows CI:</a><object type="image/svg+xml" data="https://github.com/ned14/llfio/workflows/Unit%20tests%20Windows/badge.svg?branch=master" style="pointer-events: none;"></object> </td><td align="center"><a href="https://github.com/ned14/llfio/releases">Prebuilt binaries</a> </td></tr>
</table>
-</center><p>Herein lies my proposed zero whole machine memory copy async file i/o and filesystem library for Boost and the C++ standard, intended for storage devices with ~1 microsecond 4Kb transfer latencies and those supporting Storage Class Memory (SCM)/Direct Access Storage (DAX). Its i/o overhead, including syscall overhead, has been benchmarked to 100 nanoseconds on Linux which corresponds to a theoretical maximum of 10M IOPS @ QD1, approx 40Gb/sec per thread. It has particularly strong support for writing portable filesystem algorithms which work well with directly mapped non-volatile storage such as Intel Optane.</p>
+</center><p>Herein lies my proposed zero whole machine memory copy async file i/o and filesystem library for the C++ standard, intended for storage devices with ~1 microsecond 4Kb transfer latencies and those supporting Storage Class Memory (SCM)/Direct Access Storage (DAX). Its i/o overhead, including syscall overhead, has been benchmarked to 100 nanoseconds on Linux which corresponds to a theoretical maximum of 10M IOPS @ QD1, approx 40Gb/sec per thread. It has particularly strong support for writing portable filesystem algorithms which work well with directly mapped non-volatile storage such as Intel Optane.</p>
<p>It is a complete rewrite after a Boost peer review in August 2015. Its github source code repository lives at <a href="https://github.com/ned14/llfio">https://github.com/ned14/llfio</a>.</p>
<ul>
-<li>Portable to any conforming C++ 14 compiler with a working Filesystem TS in its STL.</li>
-<li>Will make use of any Concepts TS if you have them.</li>
-<li>Provides view adapters into the Ranges TS, so ready for STL2.</li>
+<li>LLFIO is the reference implementation for these C++ standardisations:<ul>
+<li><code>llfio::path_view</code> is expected to enter the C++ 23 standard.</li>
+<li><code>llfio::file_handle</code> and <code>llfio::mapped_file_handle</code> are on track for entering the C++ 23 standard.</li>
+</ul>
+</li>
+<li>Portable to any conforming C++ 14 compiler with a working Filesystem TS in its STL.<ul>
+<li>Note that VS2019 16.3 and libc++ 11 dropped support for Filesystem in C++ 14, so for those LLFIO's cmake forces on C++ 17.</li>
+</ul>
+</li>
+<li>Fully clean with C++ 20.<ul>
+<li>Will make use of any Coroutines, Concepts, Span, Byte etc if you have them, otherwise swaps in C++ 14 compatible alternatives.</li>
+<li>NOTE that Ubuntu 18.04's libstdc++ 9 does not currently provide symbols for <code>&lt;codecvt&gt;</code> if you are building in C++ 20, so linking LLFIO programs on libstdc++ on that Linux if in C++ 20 will fail. Either use a different STL, manually rebuild libstdc++, or use C++ 17.</li>
+</ul>
+</li>
+<li>Aims to support Microsoft Windows, Linux, Android, iOS, Mac OS and FreeBSD.<ul>
+<li>Best effort to support older kernels up to their EOL (as of July 2020: &gt;= Windows 8.1, &gt;= Linux 2.6.32 (RHEL EOL), &gt;= Mac OS 10.13, &gt;= FreeBSD 11).</li>
+</ul>
+</li>
<li>Original error code is always preserved, even down to the original NT kernel error code if a NT kernel API was used.<ul>
<li>Optional configuration based on <a href="https://wg21.link/P1028">P1028</a> <em>SG14 status_code and standard error object for P0709 Zero-overhead deterministic exceptions</em>.</li>
</ul>
@@ -112,30 +120,44 @@ $(document).ready(function(){initNavTree('index.html','');});
<li>Race free filesystem design used throughout (i.e. no TOCTOU).</li>
<li>Zero malloc, zero exception throw and zero whole system memory copy design used throughout, even down to paths (which can hit 64Kb!).</li>
<li>Comprehensive support for virtual and mapped memory of both SCM/DAX and page cached storage, including large, huge and super pages.</li>
-<li>Works very well with the C++ standard library, and is being proposed for standardisation into C++. See <a href="https://wg21.link/P1031">P1031 <em>Low level file i/o</em></a>.</li>
-<li><code>async_file_handle</code> supports <code>co_await</code> (Coroutines TS).</li>
</ul>
-<dl class="section note"><dt>Note</dt><dd>Note that this code is of late alpha quality. It's quite reliable on Windows and Linux, but be careful when using it!</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Most of this code is of early mature quality. It has been shipping in production with multiple vendors for some years now, indeed amongst many big data solutions it powers the low level custom database component of the US Security and Exchange Commission's MIDAS solution which ingresses Terabytes of trade data per day. It is quite reliable on Windows and Linux (less well tested on Mac OS), so be careful when using it!</dd></dl>
<p>Examples of use: </p><table width="100%" border="0" cellpadding="4">
<tr>
-<td width="50%" valign="top"><div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Make me a 1 trillion element sparsely allocated integer array!</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio::mapped_file_handle</a> mfh = <a class="code" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio::mapped_temp_inode</a>().value();</div><div class="line"></div><div class="line"> <span class="comment">// On an extents based filing system, doesn&#39;t actually allocate any physical</span></div><div class="line"> <span class="comment">// storage but does map approximately 4Tb of all bits zero data into memory</span></div><div class="line"> (void) mfh.<a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(1000000000000ULL * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div><div class="line"></div><div class="line"> <span class="comment">// Create a typed view of the one trillion integers</span></div><div class="line"> llfio::attached&lt;int&gt; one_trillion_int_array(mfh);</div><div class="line"></div><div class="line"> <span class="comment">// Write and read as you see fit, if you exceed physical RAM it&#39;ll be paged out</span></div><div class="line"> one_trillion_int_array[0] = 5;</div><div class="line"> one_trillion_int_array[999999999999ULL] = 6;</div></div><!-- fragment --> </td><td width="50%" valign="top"><div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an asynchronous file handle</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> service;</div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> fh =</div><div class="line"> <a class="code" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio::async_file</a>(service, {}, <span class="stringliteral">&quot;testfile.txt&quot;</span>,</div><div class="line"> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::async_file_handle::mode::write</a>,</div><div class="line"> llfio::async_file_handle::creation::if_needed).value();</div><div class="line"></div><div class="line"> <span class="comment">// Resize it to 1024 bytes</span></div><div class="line"> <a class="code" href="namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81">truncate</a>(fh, 1024).value();</div><div class="line"></div><div class="line"> <span class="comment">// Begin to asynchronously write &quot;hello world&quot; into the file at offset 0,</span></div><div class="line"> <span class="comment">// suspending execution of this coroutine until completion and then resuming</span></div><div class="line"> <span class="comment">// execution. Requires the Coroutines TS.</span></div><div class="line"> <span class="keyword">alignas</span>(4096) <span class="keywordtype">char</span> buffer[] = <span class="stringliteral">&quot;hello world&quot;</span>;</div><div class="line"> co_await <a class="code" href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">co_write</a>(fh, 0, { { <span class="keyword">reinterpret_cast&lt;</span>llfio::byte *<span class="keyword">&gt;</span>(buffer), <span class="keyword">sizeof</span>(buffer) } }).value();</div></div><!-- fragment --> </td></tr>
+<td width="50%" valign="top"><div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Make me a 1 trillion element sparsely allocated integer array!</span></div>
+<div class="line"> <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio::mapped_file_handle</a> mfh = <a class="code" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio::mapped_temp_inode</a>().value();</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// On an extents based filing system, doesn&#39;t actually allocate any physical</span></div>
+<div class="line"> <span class="comment">// storage but does map approximately 4Tb of all bits zero data into memory</span></div>
+<div class="line"> (void) mfh.<a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(1000000000000ULL * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Create a typed view of the one trillion integers</span></div>
+<div class="line"> llfio::attached&lt;int&gt; one_trillion_int_array(mfh);</div>
+<div class="line"> </div>
+<div class="line"> <span class="comment">// Write and read as you see fit, if you exceed physical RAM it&#39;ll be paged out</span></div>
+<div class="line"> one_trillion_int_array[0] = 5;</div>
+<div class="line"> one_trillion_int_array[999999999999ULL] = 6;</div>
+</div><!-- fragment --> </td><td width="50%" valign="top"><div class="fragment"></div><!-- fragment --> </td></tr>
</table>
<p>See <a href="https://github.com/ned14/llfio/blob/master/programs/fs-probe/fs_probe_results.yaml">https://github.com/ned14/llfio/blob/master/programs/fs-probe/fs_probe_results.yaml</a> for a database of latencies for various previously tested OS, filing systems and storage devices.</p>
<p>Todo list for already implemented parts: <a href="https://ned14.github.io/llfio/todo.html">https://ned14.github.io/llfio/todo.html</a></p>
<p>&#160;</p>
<center><span style="font-size: large; text-decoration: underline;"><a class="el" href="md__build.html">Build instructions can found here</a></span></center> <p>&#160;</p>
-<h2>v2 architecture and design implemented:</h2>
-<table class="doxtable">
-<tr>
-<th>NEW in v2 </th><th>Boost peer review feedback </th><th></th></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Universal native handle/fd abstraction instead of <code>void *</code>. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Perfectly/Ideally low memory (de)allocation per op (usually none). </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>noexcept API throughout returning error_code for failure instead of throwing exceptions. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>LLFIO v1 handle type split into hierarchy of types:<ol>
+<h2><a class="anchor" id="autotoc_md18"></a>
+v2 architecture and design implemented:</h2>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">NEW in v2 </th><th class="markdownTableHeadNone">Boost peer review feedback </th><th class="markdownTableHeadNone"></th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Universal native handle/fd abstraction instead of <code>void *</code>. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Perfectly/Ideally low memory (de)allocation per op (usually none). </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">noexcept API throughout returning error_code for failure instead of throwing exceptions. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">LLFIO v1 handle type split into hierarchy of types:<ol>
<li>
handle - provides open, close, get path, clone, set/unset append only, change caching, characteristics</li>
<li>
@@ -149,150 +171,153 @@ io_handle - adds synchronous scatter-gather i/o, byte range locking</li>
<li>
file_handle - adds open/create file, get and set maximum extent</li>
<li>
-async_file_handle - adds asynchronous scatter-gather i/o</li>
-<li>
mapped_file_handle - adds low latency memory mapped scatter-gather i/o</li>
</ol>
</td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Cancelable i/o (made possible thanks to dropping XP support). </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>All shared_ptr usage removed as all use of multiple threads removed. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Use of std::vector to transport scatter-gather sequences replaced with C++ 20 <code>span&lt;&gt;</code> borrowed views. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Completion callbacks are now some arbitrary type <code>U&amp;&amp;</code> instead of a future continuation. Type erasure for its storage is bound into the one single memory allocation for everything needed to execute the op, and so therefore overhead is optimal. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Filing system algorithms made generic and broken out into public <code>llfio::algorithms</code> template library (the LLFIO FTL). </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Abstraction of native handle management via bitfield specified "characteristics". </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Storage profiles, a YAML database of behaviours of hardware, OS and filing system combinations. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Absolute and interval deadline timed i/o throughout (made possible thanks to dropping XP support). </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Dependency on ASIO/Networking TS removed completely. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Four choices of algorithm implementing a shared filing system mutex. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Uses CMake, CTest, CDash and CPack with automatic usage of C++ Modules or precompiled headers where available. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Far more comprehensive memory map and virtual memory facilities. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Much more granular, micro level unit testing of individual functions. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Much more granular, micro level internal logging of every code path taken. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Path views used throughout, thus avoiding string copying and allocation in <code>std::filesystem::path</code>. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Paths are equally interpreted as UTF-8 on all platforms. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>We never store nor retain a path, as they are inherently racy and are best avoided. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>Parent handle caching is hard coded in, it is now an optional user applied templated adapter class. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Cancelable i/o (made possible thanks to dropping XP support). </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">All shared_ptr usage removed as all use of multiple threads removed. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Use of std::vector to transport scatter-gather sequences replaced with C++ 20 <code>span&lt;&gt;</code> borrowed views. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Completion callbacks are now some arbitrary type <code>U&amp;&amp;</code> instead of a future continuation. Type erasure for its storage is bound into the one single memory allocation for everything needed to execute the op, and so therefore overhead is optimal. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Filing system algorithms made generic and broken out into public <code>llfio::algorithms</code> template library (the LLFIO FTL). </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Abstraction of native handle management via bitfield specified "characteristics". </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Storage profiles, a YAML database of behaviours of hardware, OS and filing system combinations. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Absolute and interval deadline timed i/o throughout (made possible thanks to dropping XP support). </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Dependency on ASIO/Networking TS removed completely. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Four choices of algorithm implementing a shared filing system mutex. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Uses CMake, CTest, CDash and CPack with automatic usage of C++ Modules or precompiled headers where available. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Far more comprehensive memory map and virtual memory facilities. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Much more granular, micro level unit testing of individual functions. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Much more granular, micro level internal logging of every code path taken. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Path views used throughout, thus avoiding string copying and allocation in <code>std::filesystem::path</code>. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Paths are equally interpreted as UTF-8 on all platforms. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">We never store nor retain a path, as they are inherently racy and are best avoided. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Parent handle caching is hard coded in, it is now an optional user applied templated adapter class. </td></tr>
</table>
<p>Todo:</p>
-<table class="doxtable">
-<tr>
-<th>NEW in v2 </th><th>Boost peer review feedback </th><th></th></tr>
-<tr>
-<td>✔ </td><td></td><td>clang AST assisted SWIG bindings for other languages. </td></tr>
-<tr>
-<td>✔ </td><td></td><td>Statistical tracking of operation latencies so realtime IOPS can be measured. </td></tr>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">NEW in v2 </th><th class="markdownTableHeadNone">Boost peer review feedback </th><th class="markdownTableHeadNone"></th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">clang AST assisted SWIG bindings for other languages. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Statistical tracking of operation latencies so realtime IOPS can be measured. </td></tr>
</table>
-<h2>Planned features implemented:</h2>
-<table class="doxtable">
-<tr>
-<th>NEW in v2 </th><th>Windows </th><th>POSIX </th><th></th></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>Native handle cloning. </td></tr>
-<tr>
-<td>✔ (up from four) </td><td>✔ </td><td>✔ </td><td>Maximum possible (seven) forms of kernel caching. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Absolute path open. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Relative "anchored" path open enabling race free file system. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td></td><td>Win32 path support (260 path limit). </td></tr>
-<tr>
-<td></td><td>✔ </td><td></td><td>NT kernel path support (32,768 path limit). </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>Synchronous universal scatter-gather i/o. </td></tr>
-<tr>
-<td>✔ (POSIX AIO support) </td><td>✔ </td><td>✔ </td><td>Asynchronous universal scatter-gather i/o. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>i/o deadlines and cancellation. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Retrieving and setting the current maximum extent (size) of an open file. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Retrieving the current path of an open file irrespective of where it has been renamed to by third parties. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>statfs_t ported over from LLFIO v1. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>utils namespace ported over from LLFIO v1. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>shared_fs_mutex</code> shared/exclusive entities locking based on lock files </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>Byte range shared/exclusive locking. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>shared_fs_mutex</code> shared/exclusive entities locking based on byte ranges </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>shared_fs_mutex</code> shared/exclusive entities locking based on atomic append </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Memory mapped files and virtual memory management (<code>section_handle</code>, <code>map_handle</code> and <code>mapped_file_handle</code>) </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>shared_fs_mutex</code> shared/exclusive entities locking based on memory maps </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>Universal portable UTF-8 path views. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>"Hole punching" and hole enumeration ported over from LLFIO v1. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Directory handles and very fast directory enumeration ported over from LLFIO v1. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>shared_fs_mutex</code> shared/exclusive entities locking based on safe byte ranges </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td>Set random or sequential i/o (prefetch). </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>i/o on <code>async_file_handle</code> is coroutines awaitable. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td><code>llfio::algorithm::trivial_vector&lt;T&gt;</code> with constant time reallocation if <code>T</code> is trivially copyable. </td></tr>
-<tr>
-<td></td><td>✔ </td><td>✔ </td><td><code>symlink_handle</code>. </td></tr>
-<tr>
-<td>✔ </td><td>✔ </td><td>✔ </td><td>Large, huge and massive page size support for memory allocation and (POSIX only) file maps. </td></tr>
+<h2><a class="anchor" id="autotoc_md19"></a>
+Planned features implemented:</h2>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">NEW in v2 </th><th class="markdownTableHeadNone">Windows </th><th class="markdownTableHeadNone">POSIX </th><th class="markdownTableHeadNone"></th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Native handle cloning. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ (up from four) </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Maximum possible (seven) forms of kernel caching. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Absolute path open. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Relative "anchored" path open enabling race free file system. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Win32 path support (260 path limit). </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">NT kernel path support (32,768 path limit). </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Synchronous universal scatter-gather i/o. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ (POSIX AIO support) </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Asynchronous universal scatter-gather i/o. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">i/o deadlines and cancellation. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Retrieving and setting the current maximum extent (size) of an open file. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Retrieving the current path of an open file irrespective of where it has been renamed to by third parties. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">statfs_t ported over from LLFIO v1. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">utils namespace ported over from LLFIO v1. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>shared_fs_mutex</code> shared/exclusive entities locking based on lock files </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Byte range shared/exclusive locking. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>shared_fs_mutex</code> shared/exclusive entities locking based on byte ranges </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>shared_fs_mutex</code> shared/exclusive entities locking based on atomic append </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Memory mapped files and virtual memory management (<code>section_handle</code>, <code>map_handle</code> and <code>mapped_file_handle</code>) </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>shared_fs_mutex</code> shared/exclusive entities locking based on memory maps </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Universal portable UTF-8 path views. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">"Hole punching" and hole enumeration ported over from LLFIO v1. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Directory handles and very fast directory enumeration ported over from LLFIO v1. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>shared_fs_mutex</code> shared/exclusive entities locking based on safe byte ranges </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Set random or sequential i/o (prefetch). </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>llfio::algorithm::trivial_vector&lt;T&gt;</code> with constant time reallocation if <code>T</code> is trivially copyable. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"><code>symlink_handle</code>. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Large, huge and massive page size support for memory allocation and (POSIX only) file maps. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">A mechanism for writing a <code>stat_t</code> onto an inode. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Graph based directory hierarchy traveral algorithm. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Graph based directory hierarchy summary algorithm. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Graph based reliable directory hierarchy deletion algorithm. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone">Intelligent file contents cloning between file handles. </td></tr>
</table>
<p>Todo thereafter in order of priority:</p>
-<table class="doxtable">
-<tr>
-<th>NEW in v2 </th><th>Windows </th><th>POSIX </th><th></th></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>A mechanism for writing a <code>stat_t</code> onto an inode. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Page allocator based on an index of linked list of free pages. See notes. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Optionally concurrent B+ tree index based on page allocator for key-value store. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Attributes extending <code>span&lt;buffers_type&gt;</code> with DMA colouring. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Coroutine generator for iterating a file's contents in DMA friendly way. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Ranges &amp; Concurrency based reliable directory hierarchy deletion algorithm. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Ranges &amp; Concurrency based reliable directory hierarchy copy algorithm. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Ranges &amp; Concurrency based reliable directory hierarchy update (two and three way) algorithm. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Linux KAIO support for native non-blocking <code>O_DIRECT</code> i/o </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td><code>std::pmr::memory_resource</code> adapting a file backing if on C++ 17. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Extended attributes support. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Algorithm to replace all duplicate content with hard links. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Algorithm to figure out all paths for a hard linked inode. </td></tr>
-<tr>
-<td>✔ </td><td></td><td></td><td>Algorithm to compare two or three directory enumerations and give differences. Probably blocked on the Ranges TS. </td></tr>
+<table class="markdownTable">
+<tr class="markdownTableHead">
+<th class="markdownTableHeadNone">NEW in v2 </th><th class="markdownTableHeadNone">Windows </th><th class="markdownTableHeadNone">POSIX </th><th class="markdownTableHeadNone"></th></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Page allocator based on an index of linked list of free pages. See notes. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Optionally concurrent B+ tree index based on page allocator for key-value store. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Attributes extending <code>span&lt;buffers_type&gt;</code> with DMA colouring. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Coroutine generator for iterating a file's contents in DMA friendly way. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Ranges &amp; Concurrency based reliable directory hierarchy copy algorithm. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Ranges &amp; Concurrency based reliable directory hierarchy update (two and three way) algorithm. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Linux io_uring support for native non-blocking <code>O_DIRECT</code> i/o </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><code>std::pmr::memory_resource</code> adapting a file backing if on C++ 17. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Extended attributes support. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Algorithm to replace all duplicate content with hard links. </td></tr>
+<tr class="markdownTableRowOdd">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Algorithm to figure out all paths for a hard linked inode. </td></tr>
+<tr class="markdownTableRowEven">
+<td class="markdownTableBodyNone">✔ </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Algorithm to compare two or three directory enumerations and give differences. </td></tr>
</table>
<p>Features possibly to be added after a Boost peer review:</p><ul>
<li>Directory change monitoring.</li>
@@ -300,7 +325,7 @@ mapped_file_handle - adds low latency memory mapped scatter-gather i/o</li>
</ul>
<table width="100%" border="0" cellpadding="4">
<tr>
-<th colspan="3">Why you might need LLFIO<hr/>
+<th colspan="3">Why you might need LLFIO<hr />
</th></tr>
<tr>
<td valign="top" width="33%">Manufacturer claimed 4Kb transfer latencies for the physical hardware:<ul>
@@ -332,14 +357,20 @@ mapped_file_handle - adds low latency memory mapped scatter-gather i/o</li>
<li>2017 NVMe flash drive (x4 PCIe 3.0): <b>2Gb/sec</b></li>
<li>10Gbit LAN: <b>1.2Gb/sec</b> </li>
</ul>
-</div></div><!-- contents -->
+</div></div><!-- PageDoc -->
+</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html_a01a5da3834fd354c5c3d38284b84ef75"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">llfio_v2_xxx::mapped_file_handle::truncate</a></div><div class="ttdeci">virtual result&lt; extent_type &gt; truncate(extent_type newsize) noexcept override</div><div class="ttdoc">Resize the current maximum permitted extent of the mapped file to the given extent,...</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a58d5390cad390de24a80748c8cd7dc5b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx::mapped_temp_inode</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_inode(mapped_file_handle::size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:790</div></div>
+<div class="ttc" id="agroup__config_html_gac9f7f0153adb9034d26c4554728f817a"><div class="ttname"><a href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a></div><div class="ttdeci">#define LLFIO_V2_NAMESPACE</div><div class="ttdoc">The namespace of this LLFIO v2 which will be some unknown inline namespace starting with v2_ inside t...</div><div class="ttdef"><b>Definition:</b> config.hpp:178</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html"><div class="ttname"><a href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></div><div class="ttdoc">The LLFIO namespace.</div><div class="ttdef"><b>Definition:</b> config.hpp:159</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1mapped__file__handle_html"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></div><div class="ttdoc">A memory mapped regular file or device.</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:155</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/io__handle_8hpp.html b/io__handle_8hpp.html
index d5c8264c..313f47be 100644
--- a/io__handle_8hpp.html
+++ b/io__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/io_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('io__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('io__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,25 +90,12 @@ $(document).ready(function(){initNavTree('io__handle_8hpp.html','');});
<div class="title">io_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides i/o handle.
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
+<div class="textblock"><code>#include &quot;io_multiplexer.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather i/o. <a href="classllfio__v2__xxx_1_1io__handle.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather byte i/o. <a href="classllfio__v2__xxx_1_1io__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -123,11 +112,13 @@ Functions</h2></td></tr>
<tr class="memitem:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memItemLeft" align="right" valign="top">io_handle::io_result&lt; io_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a> (io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td></tr>
<tr class="memdesc:a5a8908704c9988bbecc69c2359e6fd4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">More...</a><br /></td></tr>
<tr class="separator:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top">io_handle::io_result&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">llfio_v2_xxx::write</a> (io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td></tr>
+<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top"><a id="a5ea3d93e8b2c7f6e3fca7a9cde734312"></a>
+io_handle::io_result&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">llfio_v2_xxx::write</a> (io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td></tr>
+<tr class="memdesc:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides i/o handle. </p>
+<div class="textblock"><p>Provides a byte-orientated i/o handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -136,7 +127,7 @@ Functions</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/io__handle_8hpp.js b/io__handle_8hpp.js
index de95e060..9718a30b 100644
--- a/io__handle_8hpp.js
+++ b/io__handle_8hpp.js
@@ -1,11 +1,7 @@
var io__handle_8hpp =
[
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html", "classllfio__v2__xxx_1_1io__handle" ],
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type" ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type" ],
- [ "io_request", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html", "structllfio__v2__xxx_1_1io__handle_1_1io__request" ],
- [ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", "structllfio__v2__xxx_1_1io__handle_1_1io__result" ],
[ "read", "io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672", null ],
- [ "write", "io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a", null ],
- [ "write", "io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312", null ]
+ [ "write", "io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312", null ],
+ [ "write", "io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a", null ]
]; \ No newline at end of file
diff --git a/io__service_8hpp.js b/io__service_8hpp.js
deleted file mode 100644
index aa651274..00000000
--- a/io__service_8hpp.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var io__service_8hpp =
-[
- [ "io_service", "classllfio__v2__xxx_1_1io__service.html", "classllfio__v2__xxx_1_1io__service" ],
- [ "awaitable_post_to_self", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self" ],
- [ "LLFIO_COMPILE_KQUEUES", "io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8", null ],
- [ "LLFIO_HAVE_REALTIME_SIGNALS", "io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773", null ],
- [ "LLFIO_IO_POST_SIGNAL", "io__service_8hpp.html#af5cfb661784f372559747708772b9106", null ],
- [ "LLFIO_USE_POSIX_AIO", "io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280", null ]
-]; \ No newline at end of file
diff --git a/jquery.js b/jquery.js
index f5343eda..103c32d7 100644
--- a/jquery.js
+++ b/jquery.js
@@ -1,71 +1,26 @@
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
+/*! jQuery UI - v1.12.1 - 2019-01-27
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
+},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
+ * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
+ * Licensed under MIT
+ * @author Ariel Flesler
+ * @version 2.1.2
+ */
+;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
/*!
- * jQuery JavaScript Library v1.7.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Nov 21 21:11:03 2011 -0500
- */
-(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
-/*!
- * Sizzle CSS Selector Engine
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
- * jQuery UI 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
- * jQuery UI Widget 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
- * jQuery UI Mouse 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */
-(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
- * jQuery hashchange event - v1.3 - 7/21/2010
- * http://benalman.com/projects/jquery-hashchange-plugin/
- *
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*!
- PowerTip - v1.2.0 - 2013-04-03
- http://stevenbenner.github.com/jquery-powertip/
- Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
+ PowerTip v1.3.1 (2018-04-15)
+ https://stevenbenner.github.io/jquery-powertip/
+ Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
Released under MIT license.
https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
*/
-(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));/*!
+(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
* jQuery UI Touch Punch 0.2.3
*
* Copyright 2011–2014, Dave Furfero
@@ -75,13 +30,6 @@
* jquery.ui.widget.js
* jquery.ui.mouse.js
*/
-(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var d=b.ui.mouse.prototype,f=d._mouseInit,c=d._mouseDestroy,a;function e(h,i){if(h.originalEvent.touches.length>1){return}h.preventDefault();var j=h.originalEvent.changedTouches[0],g=document.createEvent("MouseEvents");g.initMouseEvent(i,true,true,window,1,j.screenX,j.screenY,j.clientX,j.clientY,false,false,false,false,0,null);h.target.dispatchEvent(g)}d._touchStart=function(h){var g=this;if(a||!g._mouseCapture(h.originalEvent.changedTouches[0])){return}a=true;g._touchMoved=false;e(h,"mouseover");e(h,"mousemove");e(h,"mousedown")};d._touchMove=function(g){if(!a){return}this._touchMoved=true;e(g,"mousemove")};d._touchEnd=function(g){if(!a){return}e(g,"mouseup");e(g,"mouseout");if(!this._touchMoved){e(g,"click")}a=false};d._mouseInit=function(){var g=this;g.element.bind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});f.call(g)};d._mouseDestroy=function(){var g=this;g.element.unbind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});c.call(g)}})(jQuery);/*!
- * SmartMenus jQuery Plugin - v1.0.0 - January 27, 2016
+!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
* http://www.smartmenus.org/
- *
- * Copyright Vasil Dinkov, Vadikom Web Ltd.
- * http://vadikom.com
- *
- * Licensed MIT
- */
-(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&typeof module.exports==="object"){module.exports=a(require("jquery"))}else{a(jQuery)}}}(function(a){var b=[],e=!!window.createPopup,f=false,d="ontouchstart" in window,h=false,g=window.requestAnimationFrame||function(l){return setTimeout(l,1000/60)},c=window.cancelAnimationFrame||function(l){clearTimeout(l)};function k(m){var n=".smartmenus_mouse";if(!h&&!m){var o=true,l=null;a(document).bind(i([["mousemove",function(s){var t={x:s.pageX,y:s.pageY,timeStamp:new Date().getTime()};if(l){var q=Math.abs(l.x-t.x),p=Math.abs(l.y-t.y);if((q>0||p>0)&&q<=2&&p<=2&&t.timeStamp-l.timeStamp<=300){f=true;if(o){var r=a(s.target).closest("a");if(r.is("a")){a.each(b,function(){if(a.contains(this.$root[0],r[0])){this.itemEnter({currentTarget:r[0]});return false}})}o=false}}}l=t}],[d?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut",function(p){if(j(p.originalEvent)){f=false}}]],n));h=true}else{if(h&&m){a(document).unbind(n);h=false}}}function j(l){return !/^(4|mouse)$/.test(l.pointerType)}function i(l,n){if(!n){n=""}var m={};a.each(l,function(o,p){m[p[0].split(" ").join(n+" ")+n]=p[1]});return m}a.SmartMenus=function(m,l){this.$root=a(m);this.opts=l;this.rootId="";this.accessIdPrefix="";this.$subArrow=null;this.activatedItems=[];this.visibleSubMenus=[];this.showTimeout=0;this.hideTimeout=0;this.scrollTimeout=0;this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.idInc=0;this.$firstLink=null;this.$firstSub=null;this.disabled=false;this.$disableOverlay=null;this.$touchScrollingSub=null;this.cssTransforms3d="perspective" in m.style||"webkitPerspective" in m.style;this.wasCollapsible=false;this.init()};a.extend(a.SmartMenus,{hideAll:function(){a.each(b,function(){this.menuHideAll()})},destroy:function(){while(b.length){b[0].destroy()}k(true)},prototype:{init:function(n){var l=this;if(!n){b.push(this);this.rootId=(new Date().getTime()+Math.random()+"").replace(/\D/g,"");this.accessIdPrefix="sm-"+this.rootId+"-";if(this.$root.hasClass("sm-rtl")){this.opts.rightToLeftSubMenus=true}var r=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).bind(i([["mouseover focusin",a.proxy(this.rootOver,this)],["mouseout focusout",a.proxy(this.rootOut,this)],["keydown",a.proxy(this.rootKeyDown,this)]],r)).delegate("a",i([["mouseenter",a.proxy(this.itemEnter,this)],["mouseleave",a.proxy(this.itemLeave,this)],["mousedown",a.proxy(this.itemDown,this)],["focus",a.proxy(this.itemFocus,this)],["blur",a.proxy(this.itemBlur,this)],["click",a.proxy(this.itemClick,this)]],r));r+=this.rootId;if(this.opts.hideOnClick){a(document).bind(i([["touchstart",a.proxy(this.docTouchStart,this)],["touchmove",a.proxy(this.docTouchMove,this)],["touchend",a.proxy(this.docTouchEnd,this)],["click",a.proxy(this.docClick,this)]],r))}a(window).bind(i([["resize orientationchange",a.proxy(this.winResize,this)]],r));if(this.opts.subIndicators){this.$subArrow=a("<span/>").addClass("sub-arrow");if(this.opts.subIndicatorsText){this.$subArrow.html(this.opts.subIndicatorsText)}}k()}this.$firstSub=this.$root.find("ul").each(function(){l.menuInit(a(this))}).eq(0);this.$firstLink=this.$root.find("a").eq(0);if(this.opts.markCurrentItem){var p=/(index|default)\.[^#\?\/]*/i,m=/#.*/,q=window.location.href.replace(p,""),o=q.replace(m,"");this.$root.find("a").each(function(){var s=this.href.replace(p,""),t=a(this);if(s==q||s==o){t.addClass("current");if(l.opts.markCurrentTree){t.parentsUntil("[data-smartmenus-id]","ul").each(function(){a(this).dataSM("parent-a").addClass("current")})}}})}this.wasCollapsible=this.isCollapsible()},destroy:function(m){if(!m){var n=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").unbind(n).undelegate(n);n+=this.rootId;a(document).unbind(n);a(window).unbind(n);if(this.opts.subIndicators){this.$subArrow=null}}this.menuHideAll();var l=this;this.$root.find("ul").each(function(){var o=a(this);if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}if(o.dataSM("shown-before")){if(l.opts.subMenusMinWidth||l.opts.subMenusMaxWidth){o.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap")}if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}o.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})}if((o.attr("id")||"").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("ie-shim").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded");this.$root.find("a.has-submenu").each(function(){var o=a(this);if(o.attr("id").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub");if(this.opts.subIndicators){this.$root.find("span.sub-arrow").remove()}if(this.opts.markCurrentItem){this.$root.find("a.current").removeClass("current")}if(!m){this.$root=null;this.$firstLink=null;this.$firstSub=null;if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}b.splice(a.inArray(this,b),1)}},disable:function(l){if(!this.disabled){this.menuHideAll();if(!l&&!this.opts.isPopup&&this.$root.is(":visible")){var m=this.$root.offset();this.$disableOverlay=a('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:m.top,left:m.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(true),opacity:0}).appendTo(document.body)}this.disabled=true}},docClick:function(l){if(this.$touchScrollingSub){this.$touchScrollingSub=null;return}if(this.visibleSubMenus.length&&!a.contains(this.$root[0],l.target)||a(l.target).is("a")){this.menuHideAll()}},docTouchEnd:function(m){if(!this.lastTouch){return}if(this.visibleSubMenus.length&&(this.lastTouch.x2===undefined||this.lastTouch.x1==this.lastTouch.x2)&&(this.lastTouch.y2===undefined||this.lastTouch.y1==this.lastTouch.y2)&&(!this.lastTouch.target||!a.contains(this.$root[0],this.lastTouch.target))){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},350)}this.lastTouch=null},docTouchMove:function(m){if(!this.lastTouch){return}var l=m.originalEvent.touches[0];this.lastTouch.x2=l.pageX;this.lastTouch.y2=l.pageY},docTouchStart:function(m){var l=m.originalEvent.touches[0];this.lastTouch={x1:l.pageX,y1:l.pageY,target:l.target}},enable:function(){if(this.disabled){if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}this.disabled=false}},getClosestMenu:function(m){var l=a(m).closest("ul");while(l.dataSM("in-mega")){l=l.parent().closest("ul")}return l[0]||null},getHeight:function(l){return this.getOffset(l,true)},getOffset:function(n,l){var m;if(n.css("display")=="none"){m={position:n[0].style.position,visibility:n[0].style.visibility};n.css({position:"absolute",visibility:"hidden"}).show()}var o=n[0].getBoundingClientRect&&n[0].getBoundingClientRect(),p=o&&(l?o.height||o.bottom-o.top:o.width||o.right-o.left);if(!p&&p!==0){p=l?n[0].offsetHeight:n[0].offsetWidth}if(m){n.hide().css(m)}return p},getStartZIndex:function(l){var m=parseInt(this[l?"$root":"$firstSub"].css("z-index"));if(!l&&isNaN(m)){m=parseInt(this.$root.css("z-index"))}return !isNaN(m)?m:1},getTouchPoint:function(l){return l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0]||l},getViewport:function(l){var m=l?"Height":"Width",o=document.documentElement["client"+m],n=window["inner"+m];if(n){o=Math.min(o,n)}return o},getViewportHeight:function(){return this.getViewport(true)},getViewportWidth:function(){return this.getViewport()},getWidth:function(l){return this.getOffset(l)},handleEvents:function(){return !this.disabled&&this.isCSSOn()},handleItemEvents:function(l){return this.handleEvents()&&!this.isLinkInMegaMenu(l)},isCollapsible:function(){return this.$firstSub.css("position")=="static"},isCSSOn:function(){return this.$firstLink.css("display")=="block"},isFixed:function(){var l=this.$root.css("position")=="fixed";if(!l){this.$root.parentsUntil("body").each(function(){if(a(this).css("position")=="fixed"){l=true;return false}})}return l},isLinkInMegaMenu:function(l){return a(this.getClosestMenu(l[0])).hasClass("mega-menu")},isTouchMode:function(){return !f||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(p,l){var n=p.closest("ul"),q=n.dataSM("level");if(q>1&&(!this.activatedItems[q-2]||this.activatedItems[q-2][0]!=n.dataSM("parent-a")[0])){var m=this;a(n.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(n).each(function(){m.itemActivate(a(this).dataSM("parent-a"))})}if(!this.isCollapsible()||l){this.menuHideSubMenus(!this.activatedItems[q-1]||this.activatedItems[q-1][0]!=p[0]?q-1:q)}this.activatedItems[q-1]=p;if(this.$root.triggerHandler("activate.smapi",p[0])===false){return}var o=p.dataSM("sub");if(o&&(this.isTouchMode()||(!this.opts.showOnClick||this.clickActivated))){this.menuShow(o)}},itemBlur:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}this.$root.triggerHandler("blur.smapi",l[0])},itemClick:function(o){var n=a(o.currentTarget);if(!this.handleItemEvents(n)){return}if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==n.closest("ul")[0]){this.$touchScrollingSub=null;o.stopPropagation();return false}if(this.$root.triggerHandler("click.smapi",n[0])===false){return false}var p=a(o.target).is("span.sub-arrow"),m=n.dataSM("sub"),l=m?m.dataSM("level")==2:false;if(m&&!m.is(":visible")){if(this.opts.showOnClick&&l){this.clickActivated=true}this.itemActivate(n);if(m.is(":visible")){this.focusActivated=true;return false}}else{if(this.isCollapsible()&&p){this.itemActivate(n);this.menuHide(m);return false}}if(this.opts.showOnClick&&l||n.hasClass("disabled")||this.$root.triggerHandler("select.smapi",n[0])===false){return false}},itemDown:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}l.dataSM("mousedown",true)},itemEnter:function(n){var m=a(n.currentTarget);if(!this.handleItemEvents(m)){return}if(!this.isTouchMode()){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var l=this;this.showTimeout=setTimeout(function(){l.itemActivate(m)},this.opts.showOnClick&&m.closest("ul").dataSM("level")==1?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",m[0])},itemFocus:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(this.focusActivated&&(!this.isTouchMode()||!l.dataSM("mousedown"))&&(!this.activatedItems.length||this.activatedItems[this.activatedItems.length-1][0]!=l[0])){this.itemActivate(l,true)}this.$root.triggerHandler("focus.smapi",l[0])},itemLeave:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(!this.isTouchMode()){l[0].blur();if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}}l.removeDataSM("mousedown");this.$root.triggerHandler("mouseleave.smapi",l[0])},menuHide:function(m){if(this.$root.triggerHandler("beforehide.smapi",m[0])===false){return}m.stop(true,true);if(m.css("display")!="none"){var l=function(){m.css("z-index","")};if(this.isCollapsible()){if(this.opts.collapsibleHideFunction){this.opts.collapsibleHideFunction.call(this,m,l)}else{m.hide(this.opts.collapsibleHideDuration,l)}}else{if(this.opts.hideFunction){this.opts.hideFunction.call(this,m,l)}else{m.hide(this.opts.hideDuration,l)}}if(m.dataSM("ie-shim")){m.dataSM("ie-shim").remove().css({"-webkit-transform":"",transform:""})}if(m.dataSM("scroll")){this.menuScrollStop(m);m.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).unbind(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()}m.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false");m.attr({"aria-expanded":"false","aria-hidden":"true"});var n=m.dataSM("level");this.activatedItems.splice(n-1,1);this.visibleSubMenus.splice(a.inArray(m,this.visibleSubMenus),1);this.$root.triggerHandler("hide.smapi",m[0])}},menuHideAll:function(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var m=this.opts.isPopup?1:0;for(var l=this.visibleSubMenus.length-1;l>=m;l--){this.menuHide(this.visibleSubMenus[l])}if(this.opts.isPopup){this.$root.stop(true,true);if(this.$root.is(":visible")){if(this.opts.hideFunction){this.opts.hideFunction.call(this,this.$root)}else{this.$root.hide(this.opts.hideDuration)}if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").remove()}}}this.activatedItems=[];this.visibleSubMenus=[];this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(n){for(var l=this.activatedItems.length-1;l>=n;l--){var m=this.activatedItems[l].dataSM("sub");if(m){this.menuHide(m)}}},menuIframeShim:function(l){if(e&&this.opts.overlapControlsInIE&&!l.dataSM("ie-shim")){l.dataSM("ie-shim",a("<iframe/>").attr({src:"javascript:0",tabindex:-9}).css({position:"absolute",top:"auto",left:"0",opacity:0,border:"0"}))}},menuInit:function(l){if(!l.dataSM("in-mega")){if(l.hasClass("mega-menu")){l.find("ul").dataSM("in-mega",true)}var q=2,m=l[0];while((m=m.parentNode.parentNode)!=this.$root[0]){q++}var n=l.prevAll("a").eq(-1);if(!n.length){n=l.prevAll().find("a").eq(-1)}n.addClass("has-submenu").dataSM("sub",l);l.dataSM("parent-a",n).dataSM("level",q).parent().dataSM("sub",l);var o=n.attr("id")||this.accessIdPrefix+(++this.idInc),p=l.attr("id")||this.accessIdPrefix+(++this.idInc);n.attr({id:o,"aria-haspopup":"true","aria-controls":p,"aria-expanded":"false"});l.attr({id:p,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"});if(this.opts.subIndicators){n[this.opts.subIndicatorsPos](this.$subArrow.clone())}}},menuPosition:function(K){var r=K.dataSM("parent-a"),D=r.closest("li"),E=D.parent(),l=K.dataSM("level"),t=this.getWidth(K),J=this.getHeight(K),u=r.offset(),o=u.left,m=u.top,q=this.getWidth(r),F=this.getHeight(r),H=a(window),v=H.scrollLeft(),s=H.scrollTop(),z=this.getViewportWidth(),L=this.getViewportHeight(),w=E.parent().is("[data-sm-horizontal-sub]")||l==2&&!E.hasClass("sm-vertical"),B=this.opts.rightToLeftSubMenus&&!D.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&D.is("[data-sm-reverse]"),p=l==2?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,n=l==2?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY,C,A;if(w){C=B?q-t-p:p;A=this.opts.bottomToTopSubMenus?-J-n:F+n}else{C=B?p-t:q-p;A=this.opts.bottomToTopSubMenus?F-n-J:n}if(this.opts.keepInViewport){var N=o+C,M=m+A;if(B&&N<v){C=w?v-N+C:q-p}else{if(!B&&N+t>v+z){C=w?v+z-t-N+C:p-t}}if(!w){if(J<L&&M+J>s+L){A+=s+L-J-M}else{if(J>=L||M<s){A+=s-M}}}if(w&&(M+J>s+L+0.49||M<s)||!w&&J>L+0.49){var G=this;if(!K.dataSM("scroll-arrows")){K.dataSM("scroll-arrows",a([a('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],a('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).bind({mouseenter:function(){K.dataSM("scroll").up=a(this).hasClass("scroll-up");G.menuScroll(K)},mouseleave:function(x){G.menuScrollStop(K);G.menuScrollOut(K,x)},"mousewheel DOMMouseScroll":function(x){x.preventDefault()}}).insertAfter(K))}var I=".smartmenus_scroll";K.dataSM("scroll",{y:this.cssTransforms3d?0:A-F,step:1,itemH:F,subH:J,arrowDownH:this.getHeight(K.dataSM("scroll-arrows").eq(1))}).bind(i([["mouseover",function(x){G.menuScrollOver(K,x)}],["mouseout",function(x){G.menuScrollOut(K,x)}],["mousewheel DOMMouseScroll",function(x){G.menuScrollMousewheel(K,x)}]],I)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:C+(parseInt(K.css("border-left-width"))||0),width:t-(parseInt(K.css("border-left-width"))||0)-(parseInt(K.css("border-right-width"))||0),zIndex:K.css("z-index")}).eq(w&&this.opts.bottomToTopSubMenus?0:1).show();if(this.isFixed()){K.css({"touch-action":"none","-ms-touch-action":"none"}).bind(i([[d?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp",function(x){G.menuScrollTouch(K,x)}]],I))}}}K.css({top:"auto",left:"0",marginLeft:C,marginTop:A-F});this.menuIframeShim(K);if(K.dataSM("ie-shim")){K.dataSM("ie-shim").css({zIndex:K.css("z-index"),width:t,height:J,marginLeft:C,marginTop:A-F})}},menuScroll:function(r,m,n){var p=r.dataSM("scroll"),q=r.dataSM("scroll-arrows"),o=p.up?p.upEnd:p.downEnd,s;if(!m&&p.momentum){p.momentum*=0.92;s=p.momentum;if(s<0.5){this.menuScrollStop(r);return}}else{s=n||(m||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(p.step))}var l=r.dataSM("level");if(this.activatedItems[l-1]&&this.activatedItems[l-1].dataSM("sub")&&this.activatedItems[l-1].dataSM("sub").is(":visible")){this.menuHideSubMenus(l-1)}p.y=p.up&&o<=p.y||!p.up&&o>=p.y?p.y:(Math.abs(o-p.y)>s?p.y+(p.up?s:-s):o);r.add(r.dataSM("ie-shim")).css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+p.y+"px, 0)",transform:"translate3d(0, "+p.y+"px, 0)"}:{marginTop:p.y});if(f&&(p.up&&p.y>p.downEnd||!p.up&&p.y<p.upEnd)){q.eq(p.up?1:0).show()}if(p.y==o){if(f){q.eq(p.up?0:1).hide()}this.menuScrollStop(r)}else{if(!m){if(this.opts.scrollAccelerate&&p.step<this.opts.scrollStep){p.step+=0.2}var t=this;this.scrollTimeout=g(function(){t.menuScroll(r)})}}},menuScrollMousewheel:function(m,n){if(this.getClosestMenu(n.target)==m[0]){n=n.originalEvent;var l=(n.wheelDelta||-n.detail)>0;if(m.dataSM("scroll-arrows").eq(l?0:1).is(":visible")){m.dataSM("scroll").up=l;this.menuScroll(m,true)}}n.preventDefault()},menuScrollOut:function(l,m){if(f){if(!/^scroll-(up|down)/.test((m.relatedTarget||"").className)&&(l[0]!=m.relatedTarget&&!a.contains(l[0],m.relatedTarget)||this.getClosestMenu(m.relatedTarget)!=l[0])){l.dataSM("scroll-arrows").css("visibility","hidden")}}},menuScrollOver:function(n,o){if(f){if(!/^scroll-(up|down)/.test(o.target.className)&&this.getClosestMenu(o.target)==n[0]){this.menuScrollRefreshData(n);var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;n.dataSM("scroll-arrows").eq(0).css("margin-top",l).end().eq(1).css("margin-top",l+this.getViewportHeight()-m.arrowDownH).end().css("visibility","visible")}}},menuScrollRefreshData:function(n){var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;if(this.cssTransforms3d){l=-(parseFloat(n.css("margin-top"))-l)}a.extend(m,{upEnd:l,downEnd:l+this.getViewportHeight()-m.subH})},menuScrollStop:function(l){if(this.scrollTimeout){c(this.scrollTimeout);this.scrollTimeout=0;l.dataSM("scroll").step=1;return true}},menuScrollTouch:function(p,q){q=q.originalEvent;if(j(q)){var m=this.getTouchPoint(q);if(this.getClosestMenu(m.target)==p[0]){var o=p.dataSM("scroll");if(/(start|down)$/i.test(q.type)){if(this.menuScrollStop(p)){q.preventDefault();this.$touchScrollingSub=p}else{this.$touchScrollingSub=null}this.menuScrollRefreshData(p);a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}else{if(/move$/i.test(q.type)){var n=o.touchY!==undefined?o.touchY:o.touchStartY;if(n!==undefined&&n!=m.pageY){this.$touchScrollingSub=p;var l=n<m.pageY;if(o.up!==undefined&&o.up!=l){a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}a.extend(o,{up:l,touchY:m.pageY});this.menuScroll(p,true,Math.abs(m.pageY-n))}q.preventDefault()}else{if(o.touchY!==undefined){if(o.momentum=Math.pow(Math.abs(m.pageY-o.touchStartY)/(q.timeStamp-o.touchStartTime),2)*15){this.menuScrollStop(p);this.menuScroll(p);q.preventDefault()}delete o.touchY}}}}}},menuShow:function(n){if(!n.dataSM("beforefirstshowfired")){n.dataSM("beforefirstshowfired",true);if(this.$root.triggerHandler("beforefirstshow.smapi",n[0])===false){return}}if(this.$root.triggerHandler("beforeshow.smapi",n[0])===false){return}n.dataSM("shown-before",true).stop(true,true);if(!n.is(":visible")){var m=n.dataSM("parent-a");if(this.opts.keepHighlighted||this.isCollapsible()){m.addClass("highlighted")}if(this.isCollapsible()){n.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""})}else{n.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1);if(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth){n.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap");if(this.opts.subMenusMinWidth){n.css("min-width",this.opts.subMenusMinWidth)}if(this.opts.subMenusMaxWidth){var o=this.getWidth(n);n.css("max-width",this.opts.subMenusMaxWidth);if(o>this.getWidth(n)){n.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}}}this.menuPosition(n);if(n.dataSM("ie-shim")){n.dataSM("ie-shim").insertBefore(n)}}var l=function(){n.css("overflow","")};if(this.isCollapsible()){if(this.opts.collapsibleShowFunction){this.opts.collapsibleShowFunction.call(this,n,l)}else{n.show(this.opts.collapsibleShowDuration,l)}}else{if(this.opts.showFunction){this.opts.showFunction.call(this,n,l)}else{n.show(this.opts.showDuration,l)}}m.attr("aria-expanded","true");n.attr({"aria-expanded":"true","aria-hidden":"false"});this.visibleSubMenus.push(n);this.$root.triggerHandler("show.smapi",n[0])}},popupHide:function(l){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var m=this;this.hideTimeout=setTimeout(function(){m.menuHideAll()},l?1:this.opts.hideTimeout)},popupShow:function(o,n){if(!this.opts.isPopup){alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}this.$root.dataSM("shown-before",true).stop(true,true);if(!this.$root.is(":visible")){this.$root.css({left:o,top:n});this.menuIframeShim(this.$root);if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").css({zIndex:this.$root.css("z-index"),width:this.getWidth(this.$root),height:this.getHeight(this.$root),left:o,top:n}).insertBefore(this.$root)}var m=this,l=function(){m.$root.css("overflow","")};if(this.opts.showFunction){this.opts.showFunction.call(this,this.$root,l)}else{this.$root.show(this.opts.showDuration,l)}this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(true);this.init(true)},rootKeyDown:function(o){if(!this.handleEvents()){return}switch(o.keyCode){case 27:var m=this.activatedItems[0];if(m){this.menuHideAll();m[0].focus();var n=m.dataSM("sub");if(n){this.menuHide(n)}}break;case 32:var l=a(o.target);if(l.is("a")&&this.handleItemEvents(l)){var n=l.dataSM("sub");if(n&&!n.is(":visible")){this.itemClick({currentTarget:o.target});o.preventDefault()}}break}},rootOut:function(m){if(!this.handleEvents()||this.isTouchMode()||m.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}if(!this.opts.showOnClick||!this.opts.hideOnClick){var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(l){if(!this.handleEvents()||this.isTouchMode()||l.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}},winResize:function(m){if(!this.handleEvents()){if(this.$disableOverlay){var n=this.$root.offset();this.$disableOverlay.css({top:n.top,left:n.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}return}if(!("onorientationchange" in window)||m.type=="orientationchange"){var l=this.isCollapsible();if(!(this.wasCollapsible&&l)){if(this.activatedItems.length){this.activatedItems[this.activatedItems.length-1][0].blur()}this.menuHideAll()}this.wasCollapsible=l}}}});a.fn.dataSM=function(l,m){if(m){return this.data(l+"_smartmenus",m)}return this.data(l+"_smartmenus")};a.fn.removeDataSM=function(l){return this.removeData(l+"_smartmenus")};a.fn.smartmenus=function(m){if(typeof m=="string"){var l=arguments,o=m;Array.prototype.shift.call(l);return this.each(function(){var p=a(this).data("smartmenus");if(p&&p[o]){p[o].apply(p,l)}})}var n=a.extend({},a.fn.smartmenus.defaults,m);return this.each(function(){new a.SmartMenus(this,n)})};a.fn.smartmenus.defaults={isPopup:false,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:true,subIndicatorsPos:"prepend",subIndicatorsText:"+",scrollStep:30,scrollAccelerate:true,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(m,l){m.fadeOut(200,l)},collapsibleShowDuration:0,collapsibleShowFunction:function(m,l){m.slideDown(200,l)},collapsibleHideDuration:0,collapsibleHideFunction:function(m,l){m.slideUp(200,l)},showOnClick:false,hideOnClick:true,noMouseOver:false,keepInViewport:true,keepHighlighted:true,markCurrentItem:false,markCurrentTree:true,rightToLeftSubMenus:false,bottomToTopSubMenus:false,overlapControlsInIE:true};return a})); \ No newline at end of file
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file
diff --git a/kvstore_8hpp.html b/kvstore_8hpp.html
index 1975b724..fbae3cc1 100644
--- a/kvstore_8hpp.html
+++ b/kvstore_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/kvstore/kvstore.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('kvstore_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('kvstore_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -91,9 +93,6 @@ $(document).ready(function(){initNavTree('kvstore_8hpp.html','');});
<div class="title">kvstore.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides the abstract interface for a key-value store.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../llfio/v2.0/file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/memory_resource.hpp&quot;</code><br />
</div><table class="memberdecls">
@@ -226,7 +225,7 @@ result&lt; span&lt; basic_key_value_store_info &gt; &gt;&#160;</td><td class="me
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_c1befcc047da237f65397416de160f2e.html">kvstore</a></li><li class="navelem"><a class="el" href="kvstore_8hpp.html">kvstore.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/llfio_8hpp.html b/llfio_8hpp.html
index 5827adce..826f341d 100644
--- a/llfio_8hpp.html
+++ b/llfio_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/llfio.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('llfio_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('llfio_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,9 +88,6 @@ $(document).ready(function(){initNavTree('llfio_8hpp.html','');});
<div class="title">llfio.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>The master <em>latest version</em> LLFIO include file. All LLFIO consuming libraries should include this header only.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="version_8hpp.html">version.hpp</a>&quot;</code><br />
<code>#include &quot;v2.0@E/llfio.hpp&quot;</code><br />
</div><table class="memberdecls">
@@ -118,7 +117,7 @@ Macros</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="llfio_8hpp.html">llfio.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/lock__files_8hpp.html b/lock__files_8hpp.html
index 7da7ead2..a03eb338 100644
--- a/lock__files_8hpp.html
+++ b/lock__files_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/lock_files.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('lock__files_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('lock__files_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('lock__files_8hpp.html','');});
<div class="title">lock_files.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::lock_files.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../../file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
@@ -113,7 +112,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::lock_files. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::lock_files </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -122,7 +121,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="lock__files_8hpp.html">lock_files.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/lockable__io__handle_8hpp.html b/lockable__io__handle_8hpp.html
new file mode 100644
index 00000000..0a2ae3bf
--- /dev/null
+++ b/lockable__io__handle_8hpp.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/lockable_io_handle.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('lockable__io__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#enum-members">Enumerations</a> </div>
+ <div class="headertitle">
+<div class="title">lockable_io_handle.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a>&quot;</code><br />
+<code>#include &lt;cassert&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">llfio_v2_xxx::lockable_io_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html">llfio_v2_xxx::lockable_io_handle::extent_guard</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXTENSION: RAII holder a locked extent of bytes in a file. <a href="classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">llfio_v2_xxx::unique_file_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated. <a href="classllfio__v2__xxx_1_1unique__file__lock.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:ae79486289ff1386b26d1ce60bb797d33"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">llfio_v2_xxx::lock_kind</a> { <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f">llfio_v2_xxx::lock_kind::unlocked</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::lock_kind::shared</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::lock_kind::exclusive</a>
+ }</td></tr>
+<tr class="memdesc:ae79486289ff1386b26d1ce60bb797d33"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">More...</a><br /></td></tr>
+<tr class="separator:ae79486289ff1386b26d1ce60bb797d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a lockable i/o handle </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="lockable__io__handle_8hpp.html">lockable_io_handle.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/lockable__io__handle_8hpp.js b/lockable__io__handle_8hpp.js
new file mode 100644
index 00000000..b86b098c
--- /dev/null
+++ b/lockable__io__handle_8hpp.js
@@ -0,0 +1,11 @@
+var lockable__io__handle_8hpp =
+[
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html", "classllfio__v2__xxx_1_1lockable__io__handle" ],
+ [ "extent_guard", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html", "classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard" ],
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html", "classllfio__v2__xxx_1_1unique__file__lock" ],
+ [ "lock_kind", "lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33", [
+ [ "unlocked", "lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f", null ],
+ [ "shared", "lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e", null ],
+ [ "exclusive", "lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7", null ]
+ ] ]
+]; \ No newline at end of file
diff --git a/map__handle_8hpp.html b/map__handle_8hpp.html
index 4407d993..b24aaf7b 100644
--- a/map__handle_8hpp.html
+++ b/map__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/map_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('map__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('map__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('map__handle_8hpp.html','');});
<div class="title">map_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides <code>map_handle</code>
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -128,6 +127,9 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:a96135062edc7cb1fa33460ff521498f5"><td class="memTemplItemLeft" align="right" valign="top">constexpr span&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5">llfio_v2_xxx::in_place_attach</a> (map_handle &amp;mh) noexcept</td></tr>
<tr class="memdesc:a96135062edc7cb1fa33460ff521498f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declare <code>map_handle</code> as a suitable source for P1631 <code>attached&lt;T&gt;</code>. <br /></td></tr>
<tr class="separator:a96135062edc7cb1fa33460ff521498f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0394a25491c4c22cb2311f2b1503c73"><td class="memItemLeft" align="right" valign="top"><a id="aa0394a25491c4c22cb2311f2b1503c73"></a>
+result&lt; io_handle::registered_buffer_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::map_handle_allocate_registered_buffer</b> (size_t &amp;bytes) noexcept</td></tr>
+<tr class="separator:aa0394a25491c4c22cb2311f2b1503c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfe725f4e0abd521a7aa319a6d567e44"><td class="memItemLeft" align="right" valign="top"><a id="abfe725f4e0abd521a7aa319a6d567e44"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44">llfio_v2_xxx::swap</a> (section_handle &amp;self, section_handle &amp;o) noexcept</td></tr>
<tr class="memdesc:abfe725f4e0abd521a7aa319a6d567e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -185,7 +187,7 @@ result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llf
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/map__handle_8hpp.js b/map__handle_8hpp.js
index f4b96cc0..e8f35e57 100644
--- a/map__handle_8hpp.js
+++ b/map__handle_8hpp.js
@@ -7,20 +7,21 @@ var map__handle_8hpp =
[ "disable_attached_for< llfio_v2_xxx::map_handle >", "structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html", null ],
[ "close", "map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110", null ],
[ "in_place_attach", "map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5", null ],
- [ "length", "map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9", null ],
[ "length", "map__handle_8hpp.html#a70e68bcf05636966ffefe001b903487e", null ],
+ [ "length", "map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9", null ],
[ "map", "map__handle_8hpp.html#ab50d07405d17a8fff4e360fd2612bc6f", null ],
[ "map", "map__handle_8hpp.html#ab9dbbe2fe79758ef87fe2dd1f61d824c", null ],
+ [ "map_handle_allocate_registered_buffer", "map__handle_8hpp.html#aa0394a25491c4c22cb2311f2b1503c73", null ],
[ "nvram_barrier", "map__handle_8hpp.html#a86f75b69db68e6c0593919f0a878f838", null ],
[ "operator<<", "map__handle_8hpp.html#aaf60dc6739dc2bd7d890630b1a50d15a", null ],
[ "pagesize_from_flags", "map__handle_8hpp.html#acaa74d6fc6b9aef877233654f514041d", null ],
[ "read", "map__handle_8hpp.html#ab993693c98cdb52e2d611f8f9e24e4e2", null ],
- [ "section", "map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb", null ],
[ "section", "map__handle_8hpp.html#a3d55c0a3b567c7ed05053a94750bb133", null ],
+ [ "section", "map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb", null ],
[ "section", "map__handle_8hpp.html#a5323ac4d73623d99f92109a5c184e5dd", null ],
- [ "swap", "map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44", null ],
[ "swap", "map__handle_8hpp.html#a28060698d23344a5ece73336a9cf49c2", null ],
- [ "truncate", "map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537", null ],
+ [ "swap", "map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44", null ],
[ "truncate", "map__handle_8hpp.html#a8231f6ba00d0d5840b47981ecc148e51", null ],
+ [ "truncate", "map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537", null ],
[ "write", "map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b", null ]
]; \ No newline at end of file
diff --git a/mapped_8hpp.html b/mapped_8hpp.html
index b65219e8..70d2fcc1 100644
--- a/mapped_8hpp.html
+++ b/mapped_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/mapped.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('mapped_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('mapped_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('mapped_8hpp.html','');});
<div class="title">mapped.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides typed view of mapped section.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mapped__file__handle_8hpp.html">mapped_file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp.html">utils.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
@@ -115,7 +114,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="mapped_8hpp.html">mapped.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/mapped__file__handle_8hpp.html b/mapped__file__handle_8hpp.html
index fd870131..36fd2dff 100644
--- a/mapped__file__handle_8hpp.html
+++ b/mapped__file__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/mapped_file_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('mapped__file__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('mapped__file__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('mapped__file__handle_8hpp.html','');})
<div class="title">mapped_file_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides mapped_file_handle.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="map__handle_8hpp.html">map_handle.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -123,17 +122,19 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:acda211a674e09531226be56691136f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abddc6cd762be581f04b00837a8a91730"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730">llfio_v2_xxx::mapped_file</a> (mapped_file_handle::size_type reservation, const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:abddc6cd762be581f04b00837a8a91730"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f0ccde00add2f09579151fd71b8f06d"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a> (const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="memitem:a1f0ccde00add2f09579151fd71b8f06d"><td class="memItemLeft" align="right" valign="top"><a id="a1f0ccde00add2f09579151fd71b8f06d"></a>
+result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a> (const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="memdesc:a1f0ccde00add2f09579151fd71b8f06d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a1f0ccde00add2f09579151fd71b8f06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6aaeb9bab04b1dd25fca172623df8dfc"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx::mapped_random_file</a> (mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:a6aaeb9bab04b1dd25fca172623df8dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a092f75c4e639c85797120488d486fa38"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">llfio_v2_xxx::mapped_uniquely_named_file</a> (mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="separator:a092f75c4e639c85797120488d486fa38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eb3e8ef0ddff1270b3d78d4178335c7"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx::mapped_temp_file</a> (mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a3eb3e8ef0ddff1270b3d78d4178335c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58d5390cad390de24a80748c8cd7dc5b"><td class="memItemLeft" align="right" valign="top">result&lt; mapped_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx::mapped_temp_inode</a> (mapped_file_handle::size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:a58d5390cad390de24a80748c8cd7dc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides mapped_file_handle. </p>
+<div class="textblock"><p>Provides mapped_file_handle </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -142,7 +143,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="mapped__file__handle_8hpp.html">mapped_file_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/mapped__file__handle_8hpp.js b/mapped__file__handle_8hpp.js
index 07dd019e..0324c249 100644
--- a/mapped__file__handle_8hpp.js
+++ b/mapped__file__handle_8hpp.js
@@ -4,10 +4,10 @@ var mapped__file__handle_8hpp =
[ "construct< mapped_file_handle >", "structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4" ],
[ "disable_attached_for< llfio_v2_xxx::mapped_file_handle >", "structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html", null ],
[ "in_place_attach", "mapped__file__handle_8hpp.html#a933649fdb097431a1b84360b9a5ed5c4", null ],
- [ "mapped_file", "mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730", null ],
[ "mapped_file", "mapped__file__handle_8hpp.html#a1f0ccde00add2f09579151fd71b8f06d", null ],
- [ "mapped_random_file", "mapped__file__handle_8hpp.html#a6aaeb9bab04b1dd25fca172623df8dfc", null ],
+ [ "mapped_file", "mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730", null ],
[ "mapped_temp_file", "mapped__file__handle_8hpp.html#a3eb3e8ef0ddff1270b3d78d4178335c7", null ],
[ "mapped_temp_inode", "mapped__file__handle_8hpp.html#a58d5390cad390de24a80748c8cd7dc5b", null ],
+ [ "mapped_uniquely_named_file", "mapped__file__handle_8hpp.html#a092f75c4e639c85797120488d486fa38", null ],
[ "swap", "mapped__file__handle_8hpp.html#acda211a674e09531226be56691136f7c", null ]
]; \ No newline at end of file
diff --git a/md__build.html b/md__build.html
index 9b63d0f6..63f3fa4a 100644
--- a/md__build.html
+++ b/md__build.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Build instructions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('md__build.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('md__build.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -79,54 +81,92 @@ $(document).ready(function(){initNavTree('md__build.html','');});
</iframe>
</div>
-<div class="header">
+<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Build instructions </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>These compilers and OSs are regularly tested:</p>
<ul>
-<li><a href="https://gcc.gnu.org/">GCC</a> 7.0 (Linux 4.x x64)</li>
-<li><a href="https://clang.llvm.org/">Clang</a> 4.0 (Linux 4.x x64)</li>
-<li>Clang 5.0 (macOS 10.12 x64)</li>
-<li>Visual Studio 2017 (Windows 10 x64). Note that LLFIO does not currently compile with <code>/permissive-</code> due a bug in MSVC.</li>
+<li><a href="https://gcc.gnu.org/">GCC</a> 7.5 (Linux 4.x x64)</li>
+<li><a href="https://clang.llvm.org/">Clang</a> 7 (Linux 4.x x64)</li>
+<li>Xcode 11.6 (macOS 10.15 x64)</li>
+<li>Visual Studio 2017 (Windows 10 x64).</li>
</ul>
-<p>Other compilers, architectures and OSs may work, but are not tested regularly. You will need a working <a href="https://en.cppreference.com/w/cpp/experimental/fs">Filesystem TS</a> implementation in your STL, and C++ 14.</p>
-<h2>Get a copy of the source</h2>
-<p>Download <a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz">this archive</a> or clone from the GitHub repository:</p>
-<div class="fragment"><div class="line">git config --system core.longpaths true</div><div class="line">git clone --recursive https://github.com/ned14/llfio.git</div><div class="line">cd llfio</div></div><!-- fragment --><p>The first command is relevant so deeply nested paths on Windows will work when cloning the repository and submodules. It may require elevated privileges, but you can also use <code>git config --global core.longpaths true</code> instead.</p>
-<h3>If you already cloned before reading this</h3>
-<p>If you had already cloned <em>this</em> repository, but didn't use the <code>--recursive</code> switch, you can simply run the following command from inside the work tree:</p>
-<div class="fragment"><div class="line">git submodule update --init --recursive</div></div><!-- fragment --><h2>Header only usage</h2>
-<p>LLFIO defaults to header only library configuration, so you don't actually need any of the prebuilt binaries below, or to build anything. Simply:</p>
-<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;llfio/include/llfio.hpp&quot;</span></div></div><!-- fragment --><p>Note that on Microsoft Windows, the default header only configuration is unsafe to use outside of toy projects. You will get warnings of the form:</p>
-<div class="fragment"><div class="line">warning : LLFIO_HEADERS_ONLY=1, LLFIO_EXPERIMENTAL_STATUS_CODE=0 and NTKERNEL_ERROR_CATEGORY_INLINE=1 on Windows, this can produce unreliable binaries where semantic comparisons of error codes randomly fail!</div></div><!-- fragment --><p>... and ...</p>
-<div class="fragment"><div class="line">Defining custom error code category ntkernel_category() via header only form is unreliable! Semantic comparisons will break! Define NTKERNEL_ERROR_CATEGORY_INLINE to 0 and only ever link in ntkernel_category() from a prebuilt shared library to avoid this problem.</div></div><!-- fragment --><p>The cause is that <code>&lt;system_error&gt;</code> has a design flaw not rectified until (<a href="https://wg21.link/P1196">probably</a>) C++ 20 where custom error code categories are unsafe when shared libraries are in use.</p>
+<p>Other compilers, architectures and OSs may work, but are not tested regularly. You will need a working <a href="https://en.cppreference.com/w/cpp/experimental/fs">Filesystem TS</a> implementation in your STL, and at least C++ 14.</p>
+<p>LLFIO has your choice of header-only, static library, and shared library build modes. Note that on Microsoft Windows, the default header only configuration is unsafe to use outside of toy projects. You will get warnings of the form:</p>
+<div class="fragment"><div class="line">warning : LLFIO_HEADERS_ONLY=1, LLFIO_EXPERIMENTAL_STATUS_CODE=0 and NTKERNEL_ERROR_CATEGORY_INLINE=1 on Windows, this can produce unreliable binaries where semantic comparisons of error codes randomly fail!</div>
+</div><!-- fragment --><p>... and ...</p>
+<div class="fragment"><div class="line">Defining custom error code category ntkernel_category() via header only form is unreliable! Semantic comparisons will break! Define NTKERNEL_ERROR_CATEGORY_INLINE to 0 and only ever link in ntkernel_category() from a prebuilt shared library to avoid this problem.</div>
+</div><!-- fragment --><p>The cause is that <code>&lt;system_error&gt;</code> has a design flaw not rectified until (<a href="https://wg21.link/P1196">probably</a>) C++ 20 where custom error code categories are unsafe when shared libraries are in use.</p>
<p>You have one of three choices here: (i) Use <a href="https://wg21.link/P1028">experimental SG14 <code>status_code</code></a> which doesn't have this problem (define <code>LLFIO_EXPERIMENTAL_STATUS_CODE=1</code>) (ii) Use the NT kernel error category as a shared library (<a href="https://github.com/ned14/ntkernel-error-category">see its documentation</a>) (iii) Don't use header only LLFIO on Windows (see below).</p>
-<h2>Prebuilt binaries</h2>
+<h1><a class="anchor" id="autotoc_md21"></a>
+Install from the vcpkg package manager</h1>
+<p>This is particularly easy, and works on Mac OS, Linux and Microsoft Windows:</p>
+<div class="fragment"><div class="line">vcpkg install llfio</div>
+</div><!-- fragment --><p>LLFIO appears at <code>&lt;llfio/llfio.hpp&gt;</code>.</p>
+<h1><a class="anchor" id="autotoc_md22"></a>
+Prebuilt binaries</h1>
<p>It is faster to build programs using LLFIO if you don't use a header only build. In this situation, define <code>LLFIO_HEADERS_ONLY=0</code>, and choose one of <code>LLFIO_DYN_LINK</code> or <code>LLFIO_STATIC_LINK</code> depending on whether you are using the prebuilt shared or static libraries respectively.</p>
-<ul>
-<li><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz">https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz</a></li>
-<li><a href="https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip">https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip</a></li>
-</ul>
-<h2>Build static libraries from source</h2>
-<p>You will need <a href="https://cmake.org/">CMake</a> installed, v3.1 or better. It is important to do an out-of-tree build, because the build will otherwise fail.</p>
+<p>You can find prebuilt binaries for Mac OS, Ubuntu and Microsoft Windows at <a href="https://github.com/ned14/llfio/releases">https://github.com/ned14/llfio/releases</a>. Choose a release, and under the Assets you will find the prebuilt binaries packages which include headers.</p>
+<h1><a class="anchor" id="autotoc_md23"></a>
+Get a copy of the source</h1>
+<p>Clone from the GitHub repository:</p>
+<div class="fragment"><div class="line">git config --system core.longpaths true</div>
+<div class="line">git clone --recursive https://github.com/ned14/llfio.git</div>
+<div class="line">cd llfio</div>
+</div><!-- fragment --><p>The first command is relevant so deeply nested paths on Windows will work when cloning the repository and submodules. It may require elevated privileges, but you can also use <code>git config --global core.longpaths true</code> instead.</p>
+<h2><a class="anchor" id="autotoc_md24"></a>
+If you already cloned before reading this</h2>
+<p>If you had already cloned <em>this</em> repository, but didn't use the <code>--recursive</code> switch, you can simply run the following command from inside the work tree:</p>
+<div class="fragment"><div class="line">git submodule update --init --recursive</div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md25"></a>
+Build static libraries from source</h1>
+<p>You will need <a href="https://cmake.org/">CMake</a> installed, v3.5 or better. It is important to do an out-of-tree build, because the build will otherwise fail.</p>
+<p>If you want C++ Coroutines support, you will need a C++ Coroutines supporting compiler. It should get automatically discovered and detected, however note that on Linux you currently need a very recent clang combined with a very recent libc++ as no recent GCC implements C++ Coroutines yet. For Debian/Ubuntu, <code>apt install libc++-dev-9 libc++abi-dev-9</code> might do it.</p>
<p>To build and test on POSIX (<code>make</code>, <code>ninja</code> etc):</p>
-<div class="fragment"><div class="line">mkdir build</div><div class="line">cd build</div><div class="line">cmake ..</div><div class="line">cmake --build .</div><div class="line">ctest -R llfio_sl</div></div><!-- fragment --><p>To build and test on Windows or Mac OS (Visual Studio, XCode etc):</p>
-<div class="fragment"><div class="line">mkdir build</div><div class="line">cd build</div><div class="line">cmake .. -G&lt;your generator here&gt;</div><div class="line">cmake --build . --config Release</div><div class="line">ctest -C Release -R llfio_sl</div></div><!-- fragment --><h2>Build shared libraries from source</h2>
-<p>You will need <a href="https://cmake.org/">CMake</a> installed, v3.1 or better. It is important to do an out-of-tree build, because the build will otherwise fail.</p>
+<div class="fragment"><div class="line">mkdir build</div>
+<div class="line">cd build</div>
+<div class="line">cmake ..</div>
+<div class="line">cmake --build .</div>
+<div class="line">ctest -R llfio_sl</div>
+</div><!-- fragment --><p>To build and test on Windows or Mac OS (Visual Studio, XCode etc):</p>
+<div class="fragment"><div class="line">mkdir build</div>
+<div class="line">cd build</div>
+<div class="line">cmake .. -G&lt;your generator here&gt;</div>
+<div class="line">cmake --build . --config Release</div>
+<div class="line">ctest -C Release -R llfio_sl</div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md26"></a>
+Build shared libraries from source</h1>
+<p>You will need <a href="https://cmake.org/">CMake</a> installed, v3.5 or better. It is important to do an out-of-tree build, because the build will otherwise fail.</p>
<p>To build and test on POSIX (<code>make</code>, <code>ninja</code> etc):</p>
-<div class="fragment"><div class="line">mkdir build</div><div class="line">cd build</div><div class="line">cmake ..</div><div class="line">cmake --build . -- _dl</div><div class="line">ctest -R llfio_dl</div></div><!-- fragment --><p>To build and test on Windows or Mac OS (Visual Studio, XCode etc):</p>
-<div class="fragment"><div class="line">mkdir build</div><div class="line">cd build</div><div class="line">cmake .. -G&lt;your generator here&gt;</div><div class="line">cmake --build . --config Release --target _dl</div><div class="line">ctest -C Release -R llfio_dl</div></div><!-- fragment --><h2>Installing libraries from source</h2>
-<p>Installing the libraries from CMake does not currently work right due to unfinished single header generation. It's a TODO/FIXME item. </p>
-</div></div><!-- contents -->
+<div class="fragment"><div class="line">mkdir build</div>
+<div class="line">cd build</div>
+<div class="line">cmake ..</div>
+<div class="line">cmake --build . -- _dl</div>
+<div class="line">ctest -R llfio_dl</div>
+</div><!-- fragment --><p>To build and test on Windows or Mac OS (Visual Studio, XCode etc):</p>
+<div class="fragment"><div class="line">mkdir build</div>
+<div class="line">cd build</div>
+<div class="line">cmake .. -G&lt;your generator here&gt;</div>
+<div class="line">cmake --build . --config Release --target _dl</div>
+<div class="line">ctest -C Release -R llfio_dl</div>
+</div><!-- fragment --><h1><a class="anchor" id="autotoc_md27"></a>
+Installing libraries from source</h1>
+<div class="fragment"><div class="line">mkdir build</div>
+<div class="line">cd build</div>
+<div class="line">cmake ..</div>
+<div class="line">cmake --build . -- _dl _sl _hl</div>
+<div class="line">cmake --build . --target install</div>
+</div><!-- fragment --> </div></div><!-- contents -->
+</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/memory__map_8hpp.html b/memory__map_8hpp.html
index f502584d..4a2866c6 100644
--- a/memory__map_8hpp.html
+++ b/memory__map_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/memory_map.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('memory__map_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('memory__map_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,14 +89,10 @@ $(document).ready(function(){initNavTree('memory__map_8hpp.html','');});
<div class="title">memory_map.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::memory_map.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="map__handle_8hpp.html">../../map_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/hash.hpp&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/spinlock.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -117,7 +115,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::memory_map. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::memory_map </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -126,7 +124,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="memory__map_8hpp.html">memory_map.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/menu.js b/menu.js
index 97db4c23..433c15b8 100644
--- a/menu.js
+++ b/menu.js
@@ -1,3 +1,26 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2017 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this file
+ */
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
@@ -17,10 +40,11 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
- $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+ $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}
+/* @license-end */
diff --git a/menudata.js b/menudata.js
index 93a227ce..c7725d3d 100644
--- a/menudata.js
+++ b/menudata.js
@@ -1,3 +1,25 @@
+/*
+@licstart The following is the entire license notice for the
+JavaScript code in this file.
+
+Copyright (C) 1997-2019 by Dimitri van Heesch
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of version 2 of the GNU General Public License as published by
+the Free Software Foundation
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+@licend The above is the entire license notice
+for the JavaScript code in this file
+*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Related Pages",url:"pages.html"},
@@ -55,13 +77,14 @@ var menudata={children:[
{text:"Class Hierarchy",url:"hierarchy.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
-{text:"_",url:"functions.html#index__"},
+{text:"_",url:"functions.html#index__5F"},
{text:"a",url:"functions_a.html#index_a"},
{text:"b",url:"functions_b.html#index_b"},
{text:"c",url:"functions_c.html#index_c"},
{text:"d",url:"functions_d.html#index_d"},
{text:"e",url:"functions_e.html#index_e"},
{text:"f",url:"functions_f.html#index_f"},
+{text:"g",url:"functions_g.html#index_g"},
{text:"h",url:"functions_h.html#index_h"},
{text:"i",url:"functions_i.html#index_i"},
{text:"k",url:"functions_k.html#index_k"},
@@ -79,15 +102,16 @@ var menudata={children:[
{text:"w",url:"functions_w.html#index_w"},
{text:"x",url:"functions_x.html#index_x"},
{text:"z",url:"functions_z.html#index_z"},
-{text:"~",url:"functions_0x7e.html#index_0x7e"}]},
+{text:"~",url:"functions_~.html#index__7E"}]},
{text:"Functions",url:"functions_func.html",children:[
-{text:"_",url:"functions_func.html#index__"},
+{text:"_",url:"functions_func.html#index__5F"},
{text:"a",url:"functions_func_a.html#index_a"},
{text:"b",url:"functions_func_b.html#index_b"},
{text:"c",url:"functions_func_c.html#index_c"},
{text:"d",url:"functions_func_d.html#index_d"},
{text:"e",url:"functions_func_e.html#index_e"},
{text:"f",url:"functions_func_f.html#index_f"},
+{text:"g",url:"functions_func_g.html#index_g"},
{text:"h",url:"functions_func_h.html#index_h"},
{text:"i",url:"functions_func_i.html#index_i"},
{text:"k",url:"functions_func_k.html#index_k"},
@@ -104,9 +128,10 @@ var menudata={children:[
{text:"v",url:"functions_func_v.html#index_v"},
{text:"w",url:"functions_func_w.html#index_w"},
{text:"z",url:"functions_func_z.html#index_z"},
-{text:"~",url:"functions_func_0x7e.html#index_0x7e"}]},
+{text:"~",url:"functions_func_~.html#index__7E"}]},
{text:"Variables",url:"functions_vars.html",children:[
{text:"a",url:"functions_vars.html#index_a"},
+{text:"b",url:"functions_vars.html#index_b"},
{text:"c",url:"functions_vars.html#index_c"},
{text:"d",url:"functions_vars.html#index_d"},
{text:"e",url:"functions_vars.html#index_e"},
@@ -116,12 +141,14 @@ var menudata={children:[
{text:"l",url:"functions_vars.html#index_l"},
{text:"m",url:"functions_vars.html#index_m"},
{text:"n",url:"functions_vars.html#index_n"},
+{text:"o",url:"functions_vars.html#index_o"},
{text:"p",url:"functions_vars.html#index_p"},
{text:"r",url:"functions_vars.html#index_r"},
{text:"s",url:"functions_vars.html#index_s"},
{text:"t",url:"functions_vars.html#index_t"},
{text:"u",url:"functions_vars.html#index_u"},
{text:"v",url:"functions_vars.html#index_v"},
+{text:"w",url:"functions_vars.html#index_w"},
{text:"x",url:"functions_vars.html#index_x"}]},
{text:"Typedefs",url:"functions_type.html",children:[
{text:"a",url:"functions_type.html#index_a"},
@@ -139,7 +166,9 @@ var menudata={children:[
{text:"s",url:"functions_type.html#index_s"},
{text:"u",url:"functions_type.html#index_u"},
{text:"v",url:"functions_type.html#index_v"}]},
-{text:"Enumerations",url:"functions_enum.html"}]}]},
+{text:"Enumerations",url:"functions_enum.html"},
+{text:"Enumerator",url:"functions_eval.html"},
+{text:"Related Functions",url:"functions_rela.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
diff --git a/modules.html b/modules.html
index 30173910..4eb9999c 100644
--- a/modules.html
+++ b/modules.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Modules</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('modules.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('modules.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ $(document).ready(function(){initNavTree('modules.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacekvstore__v1__xxx.html b/namespacekvstore__v1__xxx.html
index ba3d03e9..80e67b22 100644
--- a/namespacekvstore__v1__xxx.html
+++ b/namespacekvstore__v1__xxx.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacekvstore__v1__xxx.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacekvstore__v1__xxx.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,7 +94,7 @@ $(document).ready(function(){initNavTree('namespacekvstore__v1__xxx.html','');})
<div class="contents">
<p>The kv store namespace.
-<a href="#details">More...</a></p>
+<a href="namespacekvstore__v1__xxx.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
@@ -136,7 +138,7 @@ Enumerations</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6e486d7b17da9677f0218b106b1f3817"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817">create_kvstore</a> (const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296">basic_key_value_store::size_type</a> key_size, <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61">basic_key_value_store::features</a> _features, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">basic_key_value_store::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">basic_key_value_store::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">basic_key_value_store::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">basic_key_value_store::creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">basic_key_value_store::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">basic_key_value_store::caching::all</a>)</td></tr>
-<tr class="memdesc:a6e486d7b17da9677f0218b106b1f3817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new key value store, or open or truncate an existing key value store, using the given URI. <a href="#a6e486d7b17da9677f0218b106b1f3817">More...</a><br /></td></tr>
+<tr class="memdesc:a6e486d7b17da9677f0218b106b1f3817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new key value store, or open or truncate an existing key value store, using the given URI. <a href="namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817">More...</a><br /></td></tr>
<tr class="separator:a6e486d7b17da9677f0218b106b1f3817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab623a6b882a8f334d0ac43dfbfb72408"><td class="memItemLeft" align="right" valign="top"><a id="ab623a6b882a8f334d0ac43dfbfb72408"></a>
result&lt; <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacekvstore__v1__xxx.html#ab623a6b882a8f334d0ac43dfbfb72408">open_kvstore</a> (const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">basic_key_value_store::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">basic_key_value_store::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">basic_key_value_store::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">basic_key_value_store::caching::all</a>)</td></tr>
@@ -180,10 +182,13 @@ result&lt; span&lt; <a class="el" href="structkvstore__v1__xxx_1_1basic__key__va
<tr><td class="fieldname"><a id="a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8"></a>transaction_aborted_collision&#160;</td><td class="fielddoc"><p>The transaction could not be committed due to dependent key update. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; success = 0,</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">invalid_uri</a>, <span class="comment">//!&lt; The URI is not in an understood format.</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">unsupported_uri</a>, <span class="comment">//!&lt; The URI specified an unsupported scheme or mechanism.</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">unsupported_integrity</a>, <span class="comment">//!&lt; The requested integrity level is not available for this device URI.</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">transaction_aborted_collision</a>, <span class="comment">//!&lt; The transaction could not be committed due to dependent key update.</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"></span>};</div><div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">kvstore_v1_xxx::kvstore_errc::unsupported_integrity</a></div><div class="ttdoc">The requested integrity level is not available for this device URI. </div></div>
-<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">kvstore_v1_xxx::kvstore_errc::unsupported_uri</a></div><div class="ttdoc">The URI specified an unsupported scheme or mechanism. </div></div>
-<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">kvstore_v1_xxx::kvstore_errc::transaction_aborted_collision</a></div><div class="ttdoc">The transaction could not be committed due to dependent key update. </div></div>
-<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">kvstore_v1_xxx::kvstore_errc::invalid_uri</a></div><div class="ttdoc">The URI is not in an understood format. </div></div>
+<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; success = 0,</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">invalid_uri</a>, <span class="comment">//!&lt; The URI is not in an understood format.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">unsupported_uri</a>, <span class="comment">//!&lt; The URI specified an unsupported scheme or mechanism.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">unsupported_integrity</a>, <span class="comment">//!&lt; The requested integrity level is not available for this device URI.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">transaction_aborted_collision</a>, <span class="comment">//!&lt; The transaction could not be committed due to dependent key update.</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"></span>};</div>
</div><!-- fragment -->
</div>
</div>
@@ -264,13 +269,17 @@ result&lt; span&lt; <a class="el" href="structkvstore__v1__xxx_1_1basic__key__va
</div>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">kvstore_v1_xxx::kvstore_errc::unsupported_integrity</a></div><div class="ttdeci">@ unsupported_integrity</div><div class="ttdoc">The requested integrity level is not available for this device URI.</div></div>
+<div class="ttc" id="anamespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">kvstore_v1_xxx::kvstore_errc::unsupported_uri</a></div><div class="ttdeci">@ unsupported_uri</div><div class="ttdoc">The URI specified an unsupported scheme or mechanism.</div></div>
+<div class="ttc" id="anamespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">kvstore_v1_xxx::kvstore_errc::transaction_aborted_collision</a></div><div class="ttdeci">@ transaction_aborted_collision</div><div class="ttdoc">The transaction could not be committed due to dependent key update.</div></div>
+<div class="ttc" id="anamespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">kvstore_v1_xxx::kvstore_errc::invalid_uri</a></div><div class="ttdeci">@ invalid_uri</div><div class="ttdoc">The URI is not in an understood format.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacekvstore__v1__xxx_1_1traits.html b/namespacekvstore__v1__xxx_1_1traits.html
index ce283a88..4eaacc1c 100644
--- a/namespacekvstore__v1__xxx_1_1traits.html
+++ b/namespacekvstore__v1__xxx_1_1traits.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::traits Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacekvstore__v1__xxx_1_1traits.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacekvstore__v1__xxx_1_1traits.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,7 +90,7 @@ $(document).ready(function(){initNavTree('namespacekvstore__v1__xxx_1_1traits.ht
<div class="contents">
<p>Traits.
-<a href="#details">More...</a></p>
+<a href="namespacekvstore__v1__xxx_1_1traits.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -115,7 +117,7 @@ Classes</h2></td></tr>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">traits</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx.html b/namespacellfio__v2__xxx.html
index b993775e..bfb63345 100644
--- a/namespacellfio__v2__xxx.html
+++ b/namespacellfio__v2__xxx.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,6 +86,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx.html','');});
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">llfio_v2_xxx Namespace Reference</div> </div>
@@ -91,7 +94,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx.html','');});
<div class="contents">
<p>The LLFIO namespace.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
@@ -104,23 +107,23 @@ Namespaces</h2></td></tr>
<tr class="memitem:namespacellfio__v2__xxx_1_1storage__profile"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx_1_1storage__profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">YAML databaseable empirical testing of a storage's behaviour. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1this__thread"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html">this_thread</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1this__thread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread local settings. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacellfio__v2__xxx_1_1utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx_1_1utils"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility routines often useful when using LLFIO. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An asynchronous handle to an open something. <a href="classllfio__v2__xxx_1_1async__file__handle.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1awaitable__handle.html">awaitable_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed. <a href="classllfio__v2__xxx_1_1awaitable__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct.html">construct</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metaprogramming shim for constructing any <code>handle</code> subclass. <a href="structllfio__v2__xxx_1_1construct.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> <a href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">construct&lt; async_file_handle &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>async_file_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code> <a href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html">construct&lt; directory_handle &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>directory_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#details">More...</a><br /></td></tr>
@@ -140,6 +143,12 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html">construct&lt; path_handle &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>path_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">construct&lt; pipe_handle &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>pipe_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">construct&lt; process_handle &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>process_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html">construct&lt; section_handle &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>section_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -154,17 +163,23 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a directory which can be enumerated. <a href="classllfio__v2__xxx_1_1directory__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Work group within the global dynamic thread pool. <a href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1error.html">error</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception type synthesised and thrown when an <code>llfio::result</code> or <code>llfio::outcome</code> is no-value observed. <a href="classllfio__v2__xxx_1_1error.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The cause of the failure of an operation in LLFIO. <a href="structllfio__v2__xxx_1_1error__info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1executor.html">executor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some implementation of a C++ Executor. <a href="classllfio__v2__xxx_1_1executor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">fast_random_file_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to synthesised, non-cryptographic, pseudo-random data. <a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a regular file or device, kept data layout compatible with async_file_handle. <a href="classllfio__v2__xxx_1_1file__handle.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a regular file or device. <a href="classllfio__v2__xxx_1_1file__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something with a device and inode number. <a href="classllfio__v2__xxx_1_1fs__handle.html#details">More...</a><br /></td></tr>
@@ -173,13 +188,16 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A native_handle_type which is managed by the lifetime of this object instance. <a href="classllfio__v2__xxx_1_1handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather i/o. <a href="classllfio__v2__xxx_1_1io__handle.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather byte i/o. <a href="classllfio__v2__xxx_1_1io__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An asynchronous i/o multiplexer service. <a href="classllfio__v2__xxx_1_1io__service.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A multiplexer of byte-orientated i/o. <a href="classllfio__v2__xxx_1_1io__multiplexer.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1lockable__io__handle.html">lockable_io_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models <code>SharedMutex</code>, though note that the locks are per-handle, not per-thread. <a href="classllfio__v2__xxx_1_1lockable__io__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html">log_level_guard</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII class for temporarily adjusting the log level. <a href="classllfio__v2__xxx_1_1log__level__guard.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII class for temporarily adjusting the log level for the current thread. <a href="classllfio__v2__xxx_1_1log__level__guard.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a memory mapped region of memory, either backed by the system page file or by a section. <a href="classllfio__v2__xxx_1_1map__handle.html#details">More...</a><br /></td></tr>
@@ -204,6 +222,15 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An iterated part of a <code>path_view</code>. <a href="classllfio__v2__xxx_1_1path__view__component.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a named or anonymous pipe. <a href="classllfio__v2__xxx_1_1pipe__handle.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to this, or another, process. <a href="classllfio__v2__xxx_1_1process__handle.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1read__receiver.html">read_receiver</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A C++ Receiver of an i/o read for an i/o type of <code>IoHandleType</code>. <a href="classllfio__v2__xxx_1_1read__receiver.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a source of mapped memory. <a href="classllfio__v2__xxx_1_1section__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -216,13 +243,38 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to an inode which redirects to a different path. <a href="classllfio__v2__xxx_1_1symlink__handle.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1unique__file__lock.html">unique_file_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII locker matching <code>std::unique_lock</code> for <code>lockable_io_handle</code>, but untemplated. <a href="classllfio__v2__xxx_1_1unique__file__lock.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1write__receiver.html">write_receiver</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A C++ Receiver of an i/o write for an i/o type of <code>IoHandleType</code>. <a href="classllfio__v2__xxx_1_1write__receiver.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
+<tr class="memitem:a23358ae319d76dd1149a26b04b17796a"><td class="memTemplParams" colspan="2"><a id="a23358ae319d76dd1149a26b04b17796a"></a>
+template&lt;class F , size_t callable_storage_bytes = 32 - sizeof(uintptr_t)&gt; </td></tr>
+<tr class="memitem:a23358ae319d76dd1149a26b04b17796a"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>function_ptr</b> = QUICKCPPLIB_NAMESPACE::function_ptr::function_ptr&lt; F, callable_storage_bytes &gt;</td></tr>
+<tr class="separator:a23358ae319d76dd1149a26b04b17796a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a138a48536b1700db01f10e8a371d0a4f"><td class="memItemLeft" align="right" valign="top"><a id="a138a48536b1700db01f10e8a371d0a4f"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>spinlock</b> = QUICKCPPLIB_NAMESPACE::configurable_spinlock::spinlock&lt; uintptr_t &gt;</td></tr>
+<tr class="separator:a138a48536b1700db01f10e8a371d0a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cebefd1c4caade9a0abbd9d7a5f89a3"><td class="memItemLeft" align="right" valign="top"><a id="a1cebefd1c4caade9a0abbd9d7a5f89a3"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3">dynamic_thread_pool_group_ptr</a> = std::unique_ptr&lt; <a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a> &gt;</td></tr>
+<tr class="memdesc:a1cebefd1c4caade9a0abbd9d7a5f89a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique ptr to a work group within the global dynamic thread pool. <br /></td></tr>
+<tr class="separator:a1cebefd1c4caade9a0abbd9d7a5f89a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb9722b94a1f745b62717cb02e843f50"><td class="memItemLeft" align="right" valign="top"><a id="aeb9722b94a1f745b62717cb02e843f50"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aeb9722b94a1f745b62717cb02e843f50">io_multiplexer_ptr</a> = std::unique_ptr&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> &gt;</td></tr>
+<tr class="memdesc:aeb9722b94a1f745b62717cb02e843f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">A unique ptr to an i/o multiplexer implementation. <br /></td></tr>
+<tr class="separator:aeb9722b94a1f745b62717cb02e843f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b7cb2a8ae49464e9a5b708f1d6b4783"><td class="memItemLeft" align="right" valign="top"><a id="a8b7cb2a8ae49464e9a5b708f1d6b4783"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783">log_level</a> = QUICKCPPLIB_NAMESPACE::ringbuffer_log::level</td></tr>
<tr class="memdesc:a8b7cb2a8ae49464e9a5b708f1d6b4783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enum for the log level. <br /></td></tr>
<tr class="separator:a8b7cb2a8ae49464e9a5b708f1d6b4783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca929614e4fad8cb074325503044845a"><td class="memItemLeft" align="right" valign="top"><a id="aca929614e4fad8cb074325503044845a"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a">log_implementation_type</a> = QUICKCPPLIB_NAMESPACE::ringbuffer_log::simple_ringbuffer_log&lt; <a class="el" href="group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541">LLFIO_LOGGING_MEMORY</a>, detail::thread_local_log_level_filter &gt;</td></tr>
+<tr class="memdesc:aca929614e4fad8cb074325503044845a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the logger. <br /></td></tr>
+<tr class="separator:aca929614e4fad8cb074325503044845a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d37600965dbac07498cc811c93bae5"><td class="memTemplParams" colspan="2"><a id="ae5d37600965dbac07498cc811c93bae5"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:ae5d37600965dbac07498cc811c93bae5"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>result</b> = OUTCOME_V2_NAMESPACE::result&lt; T, <a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a> &gt;</td></tr>
@@ -232,38 +284,42 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:a6ddb7c2bee277fc16207b7e8cb05693f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>outcome</b> = OUTCOME_V2_NAMESPACE::outcome&lt; T, <a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a> &gt;</td></tr>
<tr class="separator:a6ddb7c2bee277fc16207b7e8cb05693f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">win32_path_namespace</a> { <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">win32_path_namespace::any</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7">win32_path_namespace::device</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae">win32_path_namespace::dos</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0">win32_path_namespace::guid_volume</a>
+ }</td></tr>
+<tr class="memdesc:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of win32 path namespace possible. <a href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">More...</a><br /></td></tr>
+<tr class="separator:abcb445e5dfcc0eb04ce49ac8af0bc89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8884e1fc12d34aeaa428539bf6298745"><td class="memItemLeft" align="right" valign="top"><a id="a8884e1fc12d34aeaa428539bf6298745"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> { <br />
+&#160;&#160;<b>unknown</b>,
+<b>read_initialised</b>,
+<b>read_initiated</b>,
+<b>read_completed</b>,
+<br />
+&#160;&#160;<b>read_finished</b>,
+<b>write_initialised</b>,
+<b>write_initiated</b>,
+<b>barrier_initialised</b>,
+<br />
+&#160;&#160;<b>barrier_initiated</b>,
+<b>write_or_barrier_completed</b>,
+<b>write_or_barrier_finished</b>
+<br />
+ }</td></tr>
+<tr class="memdesc:a8884e1fc12d34aeaa428539bf6298745"><td class="mdescLeft">&#160;</td><td class="mdescRight">The possible states of the i/o operation. <br /></td></tr>
+<tr class="separator:a8884e1fc12d34aeaa428539bf6298745"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae79486289ff1386b26d1ce60bb797d33"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">lock_kind</a> { <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f">lock_kind::unlocked</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">lock_kind::shared</a>,
+<a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">lock_kind::exclusive</a>
+ }</td></tr>
+<tr class="memdesc:ae79486289ff1386b26d1ce60bb797d33"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of concurrent user exclusion which can be performed. <a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">More...</a><br /></td></tr>
+<tr class="separator:ae79486289ff1386b26d1ce60bb797d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:a827e936162aff684070500f10c169e70"><td class="memItemLeft" align="right" valign="top"><a id="a827e936162aff684070500f10c169e70"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;o) noexcept</td></tr>
-<tr class="memdesc:a827e936162aff684070500f10c169e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
-<tr class="separator:a827e936162aff684070500f10c169e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8bf2fda0abbb11fdeb77d25f8288149"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">async_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;service, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">async_file_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">async_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">async_file_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a>, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ab8bf2fda0abbb11fdeb77d25f8288149"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acfdf75b3e8a2c43a7d3c6f315b44f9bd"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">async_random_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;service, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a>, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:acfdf75b3e8a2c43a7d3c6f315b44f9bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">async_temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;service, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">async_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">async_file_handle::creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a>, async_file_handle::flag flags=async_file_handle::flag::unlink_on_first_close) noexcept</td></tr>
-<tr class="separator:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">async_temp_inode</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;service, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a>, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">async_read</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:a39254f0f1608754370d4a9d38be0f355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#a39254f0f1608754370d4a9d38be0f355">More...</a><br /></td></tr>
-<tr class="separator:a39254f0f1608754370d4a9d38be0f355"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4985d46d431e0e734ad0b8bab00ad591"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:a4985d46d431e0e734ad0b8bab00ad591"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591">async_write</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:a4985d46d431e0e734ad0b8bab00ad591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="#a4985d46d431e0e734ad0b8bab00ad591">More...</a><br /></td></tr>
-<tr class="separator:a4985d46d431e0e734ad0b8bab00ad591"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae108ac818c3955c032b3b9020da770eb"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt; async_file_handle::buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb">co_read</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:ae108ac818c3955c032b3b9020da770eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#ae108ac818c3955c032b3b9020da770eb">More...</a><br /></td></tr>
-<tr class="separator:ae108ac818c3955c032b3b9020da770eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a07564a34b6f382b68c6d6045c8b4b6c7"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt; async_file_handle::buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a07564a34b6f382b68c6d6045c8b4b6c7">co_read</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">async_file_handle::buffer_type</a> &gt; lst) noexcept</td></tr>
-<tr class="separator:a07564a34b6f382b68c6d6045c8b4b6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1bf4f597e8b391870215cbe005c252e6"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt; async_file_handle::const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">co_write</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt; reqs) noexcept</td></tr>
-<tr class="memdesc:a1bf4f597e8b391870215cbe005c252e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a write to occur asynchronously. <a href="#a1bf4f597e8b391870215cbe005c252e6">More...</a><br /></td></tr>
-<tr class="separator:a1bf4f597e8b391870215cbe005c252e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a136e03c52e467a86c5dc76205d19f447"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt; async_file_handle::const_buffers_type &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a136e03c52e467a86c5dc76205d19f447">co_write</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">async_file_handle::const_buffer_type</a> &gt; lst) noexcept</td></tr>
-<tr class="separator:a136e03c52e467a86c5dc76205d19f447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a026590e0aff0af0331ec8f8308e56724"><td class="memItemLeft" align="right" valign="top"><a id="a026590e0aff0af0331ec8f8308e56724"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">directory_handle::filter</a> &amp;v)</td></tr>
<tr class="separator:a026590e0aff0af0331ec8f8308e56724"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -276,35 +332,44 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:a2fd0d67b7d28699d16f6a3666a62a5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d112d170c1d485e1120de06eef02375"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">directory_handle::path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">directory_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">directory_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">directory_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">directory_handle::caching::all</a>, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
<tr class="separator:a3d112d170c1d485e1120de06eef02375"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad574b7ae82e4a082a7d5703097d65e92"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">random_directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">directory_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">directory_handle::caching::temporary</a>, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
-<tr class="separator:ad574b7ae82e4a082a7d5703097d65e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba506997f2999cabbe0a7bd2a1d3b6e0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">uniquely_named_directory</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">directory_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">directory_handle::caching::temporary</a>, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
+<tr class="separator:aba506997f2999cabbe0a7bd2a1d3b6e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addbdc12d4993a8ee40c105a02a105a61"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">temp_directory</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">directory_handle::path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">directory_handle::path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">directory_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">directory_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">directory_handle::creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">directory_handle::caching::all</a>, directory_handle::flag flags=directory_handle::flag::none) noexcept</td></tr>
<tr class="separator:addbdc12d4993a8ee40c105a02a105a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53c9bba00e56a8e7c7c03e5b1f479ae5"><td class="memItemLeft" align="right" valign="top"><a id="a53c9bba00e56a8e7c7c03e5b1f479ae5"></a>
+result&lt; <a class="el" href="namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3">dynamic_thread_pool_group_ptr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a53c9bba00e56a8e7c7c03e5b1f479ae5">make_dynamic_thread_pool_group</a> () noexcept</td></tr>
+<tr class="memdesc:a53c9bba00e56a8e7c7c03e5b1f479ae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new work group within the global dynamic thread pool. <br /></td></tr>
+<tr class="separator:a53c9bba00e56a8e7c7c03e5b1f479ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2542466a055a0c024dee2704e9e32519"><td class="memItemLeft" align="right" valign="top"><a id="a2542466a055a0c024dee2704e9e32519"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a2542466a055a0c024dee2704e9e32519"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a2542466a055a0c024dee2704e9e32519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af31a062639499a79ef5cc8aed16ba65d"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">file_handle::path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">file_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">file_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">file_handle::caching::all</a>, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
<tr class="separator:af31a062639499a79ef5cc8aed16ba65d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5bc9df0fdb554e757d14cf40af0bbb4e"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:a5bc9df0fdb554e757d14cf40af0bbb4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d9582bf6887848cd9fc363a282a1c21"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">uniquely_named_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
+<tr class="separator:a5d9582bf6887848cd9fc363a282a1c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d9ef3b988a880d171015b754bb7b27"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">temp_file</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">file_handle::path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">file_handle::path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a70d9ef3b988a880d171015b754bb7b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d9dc908fe39f9c896e99f6b7a39d81"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, file_handle::flag flags=file_handle::flag::none) noexcept</td></tr>
<tr class="separator:ac8d9dc908fe39f9c896e99f6b7a39d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af678f58d20e1f0962ff0744150342683"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">file_handle::io_result</a>&lt; file_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self, file_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">file_handle::buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:af678f58d20e1f0962ff0744150342683"><td class="memItemLeft" align="right" valign="top"><a id="af678f58d20e1f0962ff0744150342683"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">file_handle::io_result</a>&lt; file_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self, file_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">file_handle::buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:af678f58d20e1f0962ff0744150342683"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:af678f58d20e1f0962ff0744150342683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1759f4cee184d433f4446a39ff8bfa02"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02">maximum_extent</a> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self) noexcept</td></tr>
<tr class="separator:a1759f4cee184d433f4446a39ff8bfa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16ee1bea5a5791ecde266420e00fba81"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81">truncate</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self, file_handle::extent_type newsize) noexcept</td></tr>
<tr class="separator:a16ee1bea5a5791ecde266420e00fba81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="memItemLeft" align="right" valign="top"><a id="a6f9a72b547dc542401a2d17b1c1e2e15"></a>
-result&lt; std::vector&lt; std::pair&lt; file_handle::extent_type, file_handle::extent_type &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15">extents</a> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self) noexcept</td></tr>
-<tr class="memdesc:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <br /></td></tr>
-<tr class="separator:a6f9a72b547dc542401a2d17b1c1e2e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4f1cfcc3469ace25264a09770b0cdef"><td class="memItemLeft" align="right" valign="top"><a id="ad4f1cfcc3469ace25264a09770b0cdef"></a>
+result&lt; std::vector&lt; <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">file_handle::extent_pair</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef">extents</a> (const <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self) noexcept</td></tr>
+<tr class="memdesc:ad4f1cfcc3469ace25264a09770b0cdef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of currently valid extents for this open file. WARNING: racy! <br /></td></tr>
+<tr class="separator:ad4f1cfcc3469ace25264a09770b0cdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e">zero</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;self, file_handle::extent_type offset, file_handle::extent_type bytes, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="#ad0fb15649a46da0d75b5797bfda8dc2e">More...</a><br /></td></tr>
+<tr class="memdesc:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efficiently zero, and possibly deallocate, data on storage. <a href="namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e">More...</a><br /></td></tr>
<tr class="separator:ad0fb15649a46da0d75b5797bfda8dc2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab561e45415bf19b8cc6064b6b313d94d"><td class="memItemLeft" align="right" valign="top">result&lt; filesystem::path &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">to_win32_path</a> (const <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;h, <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">win32_path_namespace</a> mapping=<a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">win32_path_namespace::any</a>) noexcept</td></tr>
+<tr class="memdesc:ab561e45415bf19b8cc6064b6b313d94d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps the current path of <code>h</code> into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. <a href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">More...</a><br /></td></tr>
+<tr class="separator:ab561e45415bf19b8cc6064b6b313d94d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60fa5c64c83ce05c8287c5379d082e49"><td class="memItemLeft" align="right" valign="top">result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49">relink</a> (<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;self, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">fs_handle::path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, bool atomic_replace=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
<tr class="separator:a60fa5c64c83ce05c8287c5379d082e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c20b46beeb225aa63ade3dc42e73362"><td class="memItemLeft" align="right" valign="top">result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362">unlink</a> (<a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) noexcept</td></tr>
@@ -332,22 +397,40 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0">close</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;self) noexcept</td></tr>
<tr class="memdesc:af6109ac3bc59d2b15edcded08060d1b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:af6109ac3bc59d2b15edcded08060d1b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a225e15680392dfa9e1dda42afcc09672"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672">read</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a225e15680392dfa9e1dda42afcc09672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="#a225e15680392dfa9e1dda42afcc09672">More...</a><br /></td></tr>
+<tr class="memitem:a225e15680392dfa9e1dda42afcc09672"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; io_handle::buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672">read</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; io_handle::buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a225e15680392dfa9e1dda42afcc09672"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the open handle. <a href="namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672">More...</a><br /></td></tr>
<tr class="separator:a225e15680392dfa9e1dda42afcc09672"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a5a8908704c9988bbecc69c2359e6fd4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="#a5a8908704c9988bbecc69c2359e6fd4a">More...</a><br /></td></tr>
+<tr class="memitem:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; io_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; io_handle::const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a5a8908704c9988bbecc69c2359e6fd4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the open handle. <a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">More...</a><br /></td></tr>
<tr class="separator:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">write</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, io_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top"><a id="a5ea3d93e8b2c7f6e3fca7a9cde734312"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">write</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, io_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a797b0860963b9de1781023de7f9da826"><td class="memItemLeft" align="right" valign="top"><a id="a797b0860963b9de1781023de7f9da826"></a>
-QUICKCPPLIB_NAMESPACE::ringbuffer_log::simple_ringbuffer_log&lt; <a class="el" href="group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541">LLFIO_LOGGING_MEMORY</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826">log</a> () noexcept</td></tr>
-<tr class="memdesc:a797b0860963b9de1781023de7f9da826"><td class="mdescLeft">&#160;</td><td class="mdescRight">The log used by LLFIO. <br /></td></tr>
-<tr class="separator:a797b0860963b9de1781023de7f9da826"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ec2a3fb2ff559325b89eb7003503d51"><td class="memItemLeft" align="right" valign="top"><a id="a6ec2a3fb2ff559325b89eb7003503d51"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a6ec2a3fb2ff559325b89eb7003503d51">is_initialised</a> (<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> s) noexcept</td></tr>
+<tr class="memdesc:a6ec2a3fb2ff559325b89eb7003503d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the i/o operation state is initialised. <br /></td></tr>
+<tr class="separator:a6ec2a3fb2ff559325b89eb7003503d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23a7dfe3b18d247bb4202a638bea1f26"><td class="memItemLeft" align="right" valign="top"><a id="a23a7dfe3b18d247bb4202a638bea1f26"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a23a7dfe3b18d247bb4202a638bea1f26">is_initiated</a> (<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> s) noexcept</td></tr>
+<tr class="memdesc:a23a7dfe3b18d247bb4202a638bea1f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the i/o operation state is initiated. <br /></td></tr>
+<tr class="separator:a23a7dfe3b18d247bb4202a638bea1f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d6ac826fcd88e00c7ac63556cef6c70"><td class="memItemLeft" align="right" valign="top"><a id="a7d6ac826fcd88e00c7ac63556cef6c70"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a7d6ac826fcd88e00c7ac63556cef6c70">is_completed</a> (<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> s) noexcept</td></tr>
+<tr class="memdesc:a7d6ac826fcd88e00c7ac63556cef6c70"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the i/o operation state is completed. <br /></td></tr>
+<tr class="separator:a7d6ac826fcd88e00c7ac63556cef6c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f32245d09ba18756513c19b053fd057"><td class="memItemLeft" align="right" valign="top"><a id="a7f32245d09ba18756513c19b053fd057"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a7f32245d09ba18756513c19b053fd057">is_finished</a> (<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a> s) noexcept</td></tr>
+<tr class="memdesc:a7f32245d09ba18756513c19b053fd057"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the i/o operation state is finished. <br /></td></tr>
+<tr class="separator:a7f32245d09ba18756513c19b053fd057"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af54eb9dc436578bd4f28ba955293986d"><td class="memItemLeft" align="right" valign="top"><a id="af54eb9dc436578bd4f28ba955293986d"></a>
+<a class="el" href="namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a">log_implementation_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#af54eb9dc436578bd4f28ba955293986d">log</a> () noexcept</td></tr>
+<tr class="memdesc:af54eb9dc436578bd4f28ba955293986d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The log used by LLFIO. <br /></td></tr>
+<tr class="separator:af54eb9dc436578bd4f28ba955293986d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf60dc6739dc2bd7d890630b1a50d15a"><td class="memItemLeft" align="right" valign="top"><a id="aaf60dc6739dc2bd7d890630b1a50d15a"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const section_handle::flag &amp;v)</td></tr>
<tr class="separator:aaf60dc6739dc2bd7d890630b1a50d15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a86f75b69db68e6c0593919f0a878f838"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838">nvram_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> req, bool evict=false) noexcept</td></tr>
+<tr class="memitem:a86f75b69db68e6c0593919f0a878f838"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838">nvram_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a> req, bool evict=false) noexcept</td></tr>
<tr class="separator:a86f75b69db68e6c0593919f0a878f838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96135062edc7cb1fa33460ff521498f5"><td class="memTemplParams" colspan="2"><a id="a96135062edc7cb1fa33460ff521498f5"></a>
template&lt;class T &gt; </td></tr>
@@ -359,13 +442,13 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="memdesc:abfe725f4e0abd521a7aa319a6d567e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:abfe725f4e0abd521a7aa319a6d567e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9be77116e7a2d8c029dd066dfa363fb"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">section</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept</td></tr>
-<tr class="memdesc:ac9be77116e7a2d8c029dd066dfa363fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="#ac9be77116e7a2d8c029dd066dfa363fb">More...</a><br /></td></tr>
+<tr class="memdesc:ac9be77116e7a2d8c029dd066dfa363fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">More...</a><br /></td></tr>
<tr class="separator:ac9be77116e7a2d8c029dd066dfa363fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d55c0a3b567c7ed05053a94750bb133"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133">section</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;backing, section_handle::extent_type bytes=0) noexcept</td></tr>
-<tr class="memdesc:a3d55c0a3b567c7ed05053a94750bb133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="#a3d55c0a3b567c7ed05053a94750bb133">More...</a><br /></td></tr>
+<tr class="memdesc:a3d55c0a3b567c7ed05053a94750bb133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by a file. <a href="namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133">More...</a><br /></td></tr>
<tr class="separator:a3d55c0a3b567c7ed05053a94750bb133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5323ac4d73623d99f92109a5c184e5dd"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a> (section_handle::extent_type bytes, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</td></tr>
-<tr class="memdesc:a5323ac4d73623d99f92109a5c184e5dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by an anonymous, managed file. <a href="#a5323ac4d73623d99f92109a5c184e5dd">More...</a><br /></td></tr>
+<tr class="memdesc:a5323ac4d73623d99f92109a5c184e5dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a memory section backed by an anonymous, managed file. <a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">More...</a><br /></td></tr>
<tr class="separator:a5323ac4d73623d99f92109a5c184e5dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3676f0dd69f4b54cf7e14e3f86d32b9"><td class="memItemLeft" align="right" valign="top"><a id="aa3676f0dd69f4b54cf7e14e3f86d32b9"></a>
result&lt; section_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> (const <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &amp;self) noexcept</td></tr>
@@ -391,11 +474,11 @@ map_handle::size_type&#160;</td><td class="memItemRight" valign="bottom"><a clas
<tr class="separator:a70e68bcf05636966ffefe001b903487e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8231f6ba00d0d5840b47981ecc148e51"><td class="memItemLeft" align="right" valign="top">result&lt; map_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51">truncate</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept</td></tr>
<tr class="separator:a8231f6ba00d0d5840b47981ecc148e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab993693c98cdb52e2d611f8f9e24e4e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">map_handle::io_result</a>&lt; map_handle::buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">read</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:ab993693c98cdb52e2d611f8f9e24e4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the mapped view. <a href="#ab993693c98cdb52e2d611f8f9e24e4e2">More...</a><br /></td></tr>
+<tr class="memitem:ab993693c98cdb52e2d611f8f9e24e4e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">map_handle::io_result</a>&lt; map_handle::buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">read</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:ab993693c98cdb52e2d611f8f9e24e4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the mapped view. <a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">More...</a><br /></td></tr>
<tr class="separator:ab993693c98cdb52e2d611f8f9e24e4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a681ed7e98ac17e6bb336b9287365141b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">map_handle::io_result</a>&lt; map_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a681ed7e98ac17e6bb336b9287365141b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the mapped view. <a href="#a681ed7e98ac17e6bb336b9287365141b">More...</a><br /></td></tr>
+<tr class="memitem:a681ed7e98ac17e6bb336b9287365141b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">map_handle::io_result</a>&lt; map_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
+<tr class="memdesc:a681ed7e98ac17e6bb336b9287365141b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the mapped view. <a href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">More...</a><br /></td></tr>
<tr class="separator:a681ed7e98ac17e6bb336b9287365141b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a933649fdb097431a1b84360b9a5ed5c4"><td class="memTemplParams" colspan="2"><a id="a933649fdb097431a1b84360b9a5ed5c4"></a>
template&lt;class T &gt; </td></tr>
@@ -408,17 +491,21 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:acda211a674e09531226be56691136f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abddc6cd762be581f04b00837a8a91730"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730">mapped_file</a> (mapped_file_handle::size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mapped_file_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">mapped_file_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">mapped_file_handle::caching::all</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:abddc6cd762be581f04b00837a8a91730"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f0ccde00add2f09579151fd71b8f06d"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mapped_file_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">mapped_file_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">mapped_file_handle::caching::all</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="memitem:a1f0ccde00add2f09579151fd71b8f06d"><td class="memItemLeft" align="right" valign="top"><a id="a1f0ccde00add2f09579151fd71b8f06d"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a> _path, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mapped_file_handle::mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">mapped_file_handle::creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">mapped_file_handle::caching::all</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="memdesc:a1f0ccde00add2f09579151fd71b8f06d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:a1f0ccde00add2f09579151fd71b8f06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6aaeb9bab04b1dd25fca172623df8dfc"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">mapped_random_file</a> (mapped_file_handle::size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
-<tr class="separator:a6aaeb9bab04b1dd25fca172623df8dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a092f75c4e639c85797120488d486fa38"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">mapped_uniquely_named_file</a> (mapped_file_handle::size_type reservation, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
+<tr class="separator:a092f75c4e639c85797120488d486fa38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eb3e8ef0ddff1270b3d78d4178335c7"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">mapped_temp_file</a> (mapped_file_handle::size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">mapped_file_handle::creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a3eb3e8ef0ddff1270b3d78d4178335c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58d5390cad390de24a80748c8cd7dc5b"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">mapped_temp_inode</a> (mapped_file_handle::size_type reservation=0, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a>, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:a58d5390cad390de24a80748c8cd7dc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f7bb77eb38fbe1280019225b66b78b"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_handle::path_view_type</a> path) noexcept</td></tr>
<tr class="separator:a49f7bb77eb38fbe1280019225b66b78b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_handle::path_view_type</a> _path) noexcept</td></tr>
+<tr class="memitem:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memItemLeft" align="right" valign="top"><a id="ad8b12afdd4c80d69d2530bd40f92427c"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a> (<a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_handle::path_view_type</a> _path) noexcept</td></tr>
+<tr class="memdesc:ad8b12afdd4c80d69d2530bd40f92427c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6024cdc07fef0c772c14ec1f91defa75"><td class="memItemLeft" align="right" valign="top"><a id="a6024cdc07fef0c772c14ec1f91defa75"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
@@ -426,21 +513,46 @@ LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom
<tr class="memitem:a0846b040cbf733b34787c76a39e35b85"><td class="memItemLeft" align="right" valign="top"><a id="a0846b040cbf733b34787c76a39e35b85"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> y) noexcept</td></tr>
<tr class="separator:a0846b040cbf733b34787c76a39e35b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20dbb9e8deed80ea3d0b65d52fd34771"><td class="memItemLeft" align="right" valign="top"><a id="a20dbb9e8deed80ea3d0b65d52fd34771"></a>
+<tr class="memitem:a1374384491dae4c33de1ddd218336f98"><td class="memTemplParams" colspan="2"><a id="a1374384491dae4c33de1ddd218336f98"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:a1374384491dae4c33de1ddd218336f98"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>visit</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> view, F &amp;&amp;f)</td></tr>
+<tr class="separator:a1374384491dae4c33de1ddd218336f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d381d16b152632f617c82182fcf22a1"><td class="memTemplParams" colspan="2"><a id="a1d381d16b152632f617c82182fcf22a1"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:a1d381d16b152632f617c82182fcf22a1"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1">visit</a> (F &amp;&amp;f, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> view)</td></tr>
+<tr class="memdesc:a1d381d16b152632f617c82182fcf22a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit the underlying source for a <code>path_view_component</code> (std compatible overload) <br /></td></tr>
+<tr class="separator:a1d381d16b152632f617c82182fcf22a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada4abf0a0e41c43e53dad057607cebbc"><td class="memItemLeft" align="right" valign="top"><a id="ada4abf0a0e41c43e53dad057607cebbc"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;v)</td></tr>
-<tr class="separator:a20dbb9e8deed80ea3d0b65d52fd34771"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:ada4abf0a0e41c43e53dad057607cebbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa93a5ee3bddc44cc342826ff9892a170"><td class="memItemLeft" align="right" valign="top"><a id="aa93a5ee3bddc44cc342826ff9892a170"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
<tr class="separator:aa93a5ee3bddc44cc342826ff9892a170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34f076b77f1de6ae1660108254f2183"><td class="memItemLeft" align="right" valign="top"><a id="ad34f076b77f1de6ae1660108254f2183"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
<tr class="separator:ad34f076b77f1de6ae1660108254f2183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0247c61a58f54b12119505f6b12aef2b"><td class="memItemLeft" align="right" valign="top"><a id="a0247c61a58f54b12119505f6b12aef2b"></a>
-std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;v)</td></tr>
-<tr class="separator:a0247c61a58f54b12119505f6b12aef2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e68b8ef674b43bc67a04576a5d9a99e"><td class="memItemLeft" align="right" valign="top"><a id="a3e68b8ef674b43bc67a04576a5d9a99e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>LLFIO_TEMPLATE</b> (class CharT) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
<tr class="separator:a3e68b8ef674b43bc67a04576a5d9a99e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa689b48f1fe2893f13e689a346a5dd5c"><td class="memItemLeft" align="right" valign="top"><a id="aa689b48f1fe2893f13e689a346a5dd5c"></a>
+filesystem::path &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c">operator/=</a> (filesystem::path &amp;a, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> b)</td></tr>
+<tr class="memdesc:aa689b48f1fe2893f13e689a346a5dd5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:aa689b48f1fe2893f13e689a346a5dd5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a177b07f74b322e7843ec46f13ffcf032"><td class="memItemLeft" align="right" valign="top"><a id="a177b07f74b322e7843ec46f13ffcf032"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032">operator/</a> (const filesystem::path &amp;a, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> b)</td></tr>
+<tr class="memdesc:a177b07f74b322e7843ec46f13ffcf032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:a177b07f74b322e7843ec46f13ffcf032"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="memItemLeft" align="right" valign="top"><a id="a56f82dddf1ccbd54e467ef1e35adcb54"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a56f82dddf1ccbd54e467ef1e35adcb54">operator/</a> (filesystem::path &amp;&amp;a, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> b)</td></tr>
+<tr class="memdesc:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb4db47e035ae1ee5043008492e8986b"><td class="memItemLeft" align="right" valign="top"><a id="adb4db47e035ae1ee5043008492e8986b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b">LLFIO_TEMPLATE</a> (class T) LLFIO_TREQUIRES(LLFIO_TPRED(std</td></tr>
+<tr class="memdesc:adb4db47e035ae1ee5043008492e8986b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path view component. <br /></td></tr>
+<tr class="separator:adb4db47e035ae1ee5043008492e8986b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94167268e0b7e7573e4599fd7872ef0f"><td class="memItemLeft" align="right" valign="top"><a id="a94167268e0b7e7573e4599fd7872ef0f"></a>
+std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const process_handle::flag &amp;v)</td></tr>
+<tr class="separator:a94167268e0b7e7573e4599fd7872ef0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a209f670f6c6b08da7864aa85401ee124"><td class="memItemLeft" align="right" valign="top"><a id="a209f670f6c6b08da7864aa85401ee124"></a>
std::error_code&#160;</td><td class="memItemRight" valign="bottom"><b>make_error_code</b> (<a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a> ei)</td></tr>
<tr class="separator:a209f670f6c6b08da7864aa85401ee124"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -474,9 +586,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>outcome_throw_as_syst
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The LLFIO namespace. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>TODO FIXME Replace in-memory log with memory map file backed log. </dd></dl>
-</div><h2 class="groupheader">Function Documentation</h2>
-<a id="ab8bf2fda0abbb11fdeb77d25f8288149"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8bf2fda0abbb11fdeb77d25f8288149">&#9670;&nbsp;</a></span>async_file()</h2>
+</div><h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="ae79486289ff1386b26d1ce60bb797d33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae79486289ff1386b26d1ce60bb797d33">&#9670;&nbsp;</a></span>lock_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -485,560 +597,120 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>outcome_throw_as_syst
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">async_file_handle::mode::read</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">async_file_handle::creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">async_file_handle::creation::open_existing</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>async_file_handle::flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
+ <td class="memname">enum <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">llfio_v2_xxx::lock_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Create an async file handle opening access to a file on path using the given io_service. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">service</td><td>The <code>io_service</code> to use. </td></tr>
- <tr><td class="paramname">base</td><td>Handle to a base location on the filing system. Pass <code>{}</code> to indicate that path will be absolute. </td></tr>
- <tr><td class="paramname">_path</td><td>The path relative to base to open. </td></tr>
- <tr><td class="paramname">_mode</td><td>How to open the file. </td></tr>
- <tr><td class="paramname">_creation</td><td>How to create the file. </td></tr>
- <tr><td class="paramname">_caching</td><td>How to ask the kernel to cache the file. </td></tr>
- <tr><td class="paramname">flags</td><td>Any additional custom behaviours.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;{</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">async_file_handle::async_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching),</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab8bf2fda0abbb11fdeb77d25f8288149"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx::async_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_file(io_service &amp;service, const path_handle &amp;base, async_file_handle::path_view_type _path, async_file_handle::mode _mode=async_file_handle::mode::read, async_file_handle::creation _creation=async_file_handle::creation::open_existing, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:646</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="acfdf75b3e8a2c43a7d3c6f315b44f9bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acfdf75b3e8a2c43a7d3c6f315b44f9bd">&#9670;&nbsp;</a></span>async_random_file()</h2>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_random_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>async_file_handle::flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
+<p>The kinds of concurrent user exclusion which can be performed. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f"></a>unlocked&#160;</td><td class="fielddoc"><p>Exclude none. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e"></a>shared&#160;</td><td class="fielddoc"><p>Exclude only those requesting an exclusive lock on the same inode. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7"></a>exclusive&#160;</td><td class="fielddoc"><p>Exclude those requesting any kind of lock on the same inode. </p>
+</td></tr>
</table>
-</div><div class="memdoc">
-<p>Create an async file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">async_file_handle::async_random_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_acfdf75b3e8a2c43a7d3c6f315b44f9bd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx::async_random_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:658</div></div>
+<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f">unlocked</a>, <span class="comment">//!&lt; Exclude none.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">shared</a>, <span class="comment">//!&lt; Exclude only those requesting an exclusive lock on the same inode.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">exclusive</a> <span class="comment">//!&lt; Exclude those requesting any kind of lock on the same inode.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span>};</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a39254f0f1608754370d4a9d38be0f355"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a39254f0f1608754370d4a9d38be0f355">&#9670;&nbsp;</a></span>async_read()</h2>
+<a id="abcb445e5dfcc0eb04ce49ac8af0bc89a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcb445e5dfcc0eb04ce49ac8af0bc89a">&#9670;&nbsp;</a></span>win32_path_namespace</h2>
<div class="memitem">
<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a>&gt; llfio_v2_xxx::async_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a read to occur asynchronously. </p>
-<p>Note that some OS kernels can only process a limited number async i/o operations at a time. You should therefore check for the error <code>errc::resource_unavailable_try_again</code> and gracefully reschedule the i/o for a later time. This temporary failure may be returned immediately, or to the completion handler and hence you ought to handle both situations.</p>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;buffers_type&gt; &amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>read()</code>. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>read()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {}) noexcept</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;{</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="aa83cca46a7fe2fcd7cbd3f09efbd3a74"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa83cca46a7fe2fcd7cbd3f09efbd3a74">&#9670;&nbsp;</a></span>async_temp_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_temp_file </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a>&#160;</td>
- <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">async_file_handle::creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">async_file_handle::creation::if_needed</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>async_file_handle::flag::unlink_on_first_close</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
+ <td class="memname">enum <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">llfio_v2_xxx::win32_path_namespace</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Create an async file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>async_random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;{</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">async_file_handle::async_temp_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa83cca46a7fe2fcd7cbd3f09efbd3a74"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx::async_temp_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_file(io_service &amp;service, async_file_handle::path_view_type name=async_file_handle::path_view_type(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::creation _creation=async_file_handle::creation::if_needed, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:677</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ae6eb58f0e5fc200dd2719c7280edba5e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae6eb58f0e5fc200dd2719c7280edba5e">&#9670;&nbsp;</a></span>async_temp_inode()</h2>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a>&gt; llfio_v2_xxx::async_temp_inode </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>async_file_handle::flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
+<p>The kinds of win32 path namespace possible. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec"></a>any&#160;</td><td class="fielddoc"><p>Map the input path to a valid win32 path as fast as possible for the input. This is currently <code>guid_volume</code> followed by <code>dos</code>, but may change in the future. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7"></a>device&#160;</td><td class="fielddoc"><p>Map <code>\!!\Device\...</code> form input paths to <code>\\.\...</code> for which it is <em>usually</em> the case there is a mapping, which results in a valid Win32 path, but which legacy code bases may not accept. This efficiently covers the vast majority of what can be returned by <code>handle::current_path()</code> on Windows, but if the input path cannot be mapped, a failure is returned. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae"></a>dos&#160;</td><td class="fielddoc"><p>Map the input path to a DOS drive letter prefix, possibly with <code>\\?\</code> prefix to opt out of strict DOS path parsing if the mapped DOS path is incompatible with traditional DOS (e.g. it contains one of the forbidden character sequences such as <code>CON</code>, or it exceeds 260 codepoints, and so on). Well written software will correctly handle <code>\\?\</code> prefixes, but if the code you are handing the path to is particularly legacy, you ought to ensure that the prefix is not present.</p>
+<dl class="section warning"><dt>Warning</dt><dd>There is not a one-one mapping between NT kernel paths (which is what LLFIO returns from <code>handle::current_path()</code>) and DOS style paths, so what you get may be surprising. It is also possible that there is no mapping at all, in which case a failure is returned. </dd></dl>
+</td></tr>
+<tr><td class="fieldname"><a id="abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0"></a>guid_volume&#160;</td><td class="fielddoc"><p>Map the input path replacing the volume as a GUID, such that say an input path of <code>C:\foo\bar</code> might be mapped to <code>\\?\Volume{9f9bd10e-9003-4da5-b146-70584e30854a}\foo\bar</code>. This is a valid Win32 path, but legacy code bases may not accept it. This eliminates problems with drive letters vanishing or being ambiguous, and unlike with <code>dos</code>, there is a guaranteed one-one mapping between NT kernel paths and <code>guid_volume</code> paths. The mapped path is NOT checked for equivalence to the input file. </p>
+</td></tr>
</table>
-</div><div class="memdoc">
-<p><em>Securely</em> create an async file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;{</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">async_file_handle::async_temp_inode</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dir)&gt;(dir), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ae6eb58f0e5fc200dd2719c7280edba5e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx::async_temp_inode</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_inode(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:692</div></div>
+<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{<span class="comment"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> /*! Map the input path to a valid win32 path as fast as possible for the input.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> This is currently `guid_volume` followed by `dos`, but may change in the future.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">any</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> /*! Map `\!!\Device\...` form input paths to `\\.\...` for which it is _usually_</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> the case there is a mapping, which results in a valid Win32 path, but which</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> legacy code bases may not accept. This efficiently covers the vast majority of</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> what can be returned by `handle::current_path()` on Windows, but if the input</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> path cannot be mapped, a failure is returned.</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; device,<span class="comment"></span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> /*! Map the input path to a DOS drive letter prefix, possibly with `\\?\` prefix</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"> to opt out of strict DOS path parsing if the mapped DOS path is incompatible with</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> traditional DOS (e.g. it contains one of the forbidden character sequences such</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> as `CON`, or it exceeds 260 codepoints, and so on). Well written software will</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> correctly handle `\\?\` prefixes, but if the code you are handing the path to is</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> particularly legacy, you ought to ensure that the prefix is not present.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> \warning There is not a one-one mapping between NT kernel paths (which is what</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> LLFIO returns from `handle::current_path()`) and DOS style paths, so what you get</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> may be surprising. It is also possible that there is no mapping at all, in which</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> case a failure is returned.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae">dos</a>,<span class="comment"></span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> /*! Map the input path replacing the volume as a GUID, such that say an input path</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> of `C:\foo\bar` might be mapped to `\\?\Volume{9f9bd10e-9003-4da5-b146-70584e30854a}\foo\bar`.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> This is a valid Win32 path, but legacy code bases may not accept it. This eliminates</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> problems with drive letters vanishing or being ambiguous, and unlike with `dos`,</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> there is a guaranteed one-one mapping between NT kernel paths and `guid_volume` paths.</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> The mapped path is NOT checked for equivalence to the input file.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0">guid_volume</a></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#if 0</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"> /*! Map the input path replacing the the whole path as a GUID, such that say an input</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> path of `C:\foo\bar` might be mapped to `\\?\Volume{9f9bd10e-9003-4da5-b146-70584e30854a}\{5a13b46c-44b9-40f3-9303-23cf7d918708}`.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> This is a valid Win32 path, but legacy code bases may not accept it. This eliminates</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> problems with long paths or if the file could be renamed concurrently. Note this may</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> cause the creation of a GUID for the file on some filesystems (NTFS). The mapped path</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> is NOT checked for equivalence to the input file.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; guid_all</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment">- `win32_path_namespace::guid_all` does the same as `guid_volume`, but additionally</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment">asks Windows for the GUID for the file upon the volume, creating one if one</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment">doesn&#39;t exist if necessary. The path returned consists of two GUIDs, and is a</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment">perfectly valid Win32 path which most Win32 APIs will accept.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;};</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a4985d46d431e0e734ad0b8bab00ad591"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4985d46d431e0e734ad0b8bab00ad591">&#9670;&nbsp;</a></span>async_write()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a>&gt; llfio_v2_xxx::async_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a write to occur asynchronously. </p>
-<p>Note that some OS kernels can only process a limited number async i/o operations at a time. You should therefore check for the error <code>errc::resource_unavailable_try_again</code> and gracefully reschedule the i/o for a later time. This temporary failure may be returned immediately, or to the completion handler and hence you ought to handle both situations.</p>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;const_buffers_type&gt; &amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>write()</code>. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>write()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem in not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; {}) noexcept</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="ae108ac818c3955c032b3b9020da770eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae108ac818c3955c032b3b9020da770eb">&#9670;&nbsp;</a></span>co_read() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt;async_file_handle::buffers_type&gt; &gt; llfio_v2_xxx::co_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a read to occur asynchronously. </p>
-<dl class="section return"><dt>Returns</dt><dd>An awaitable, which when <code>co_await</code>ed upon, suspends execution of the coroutine until the operation has completed, resuming with the buffers read, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred, and the pointer to the data may be <em>completely</em> different to what was submitted (e.g. it may point into a memory map). </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for read(), plus ENOMEM. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;{</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a07564a34b6f382b68c6d6045c8b4b6c7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a07564a34b6f382b68c6d6045c8b4b6c7">&#9670;&nbsp;</a></span>co_read() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt;async_file_handle::buffers_type&gt; &gt; llfio_v2_xxx::co_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">async_file_handle::buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;{</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a1bf4f597e8b391870215cbe005c252e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1bf4f597e8b391870215cbe005c252e6">&#9670;&nbsp;</a></span>co_write() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt;async_file_handle::const_buffers_type&gt; &gt; llfio_v2_xxx::co_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a write to occur asynchronously. </p>
-<dl class="section return"><dt>Returns</dt><dd>An awaitable, which when <code>co_await</code>ed upon, suspends execution of the coroutine until the operation has completed, resuming with the buffers written, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for write(), plus ENOMEM. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;{</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a136e03c52e467a86c5dc76205d19f447"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a136e03c52e467a86c5dc76205d19f447">&#9670;&nbsp;</a></span>co_write() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html">async_file_handle::awaitable</a>&lt;async_file_handle::const_buffers_type&gt; &gt; llfio_v2_xxx::co_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">async_file_handle::extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">async_file_handle::const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
+<h2 class="groupheader">Function Documentation</h2>
<a id="a3d112d170c1d485e1120de06eef02375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d112d170c1d485e1120de06eef02375">&#9670;&nbsp;</a></span>directory()</h2>
@@ -1097,9 +769,10 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</div><div class="memdoc">
<p>Create a handle opening access to a directory on path.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;{</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory_handle::directory</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3d112d170c1d485e1120de06eef02375"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; directory(const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:347</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;{</div>
+<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory_handle::directory</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -1171,9 +844,11 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;{</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file_handle::file</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:501</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;{</div>
+<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file_handle::file</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode),</div>
+<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -1225,8 +900,10 @@ template&lt;class CompletionRoutine &gt; </div>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows this constructor uses the faster VirtualAlloc() which creates less versatile page backed memory. If you want anonymous memory allocated from a paging file backed section instead, create a page file backed section and then a mapped view from that using the other constructor. This makes available all those very useful VM tricks Windows can do with section mapped memory which VirtualAlloc() memory cannot do.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or VirtualAlloc() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;{</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), zeroed, std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:763</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mmap() or VirtualAlloc() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160;{</div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), zeroed, std::forward&lt;decltype(_flag)&gt;(_flag));</div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -1284,14 +961,15 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or NtMapViewOfSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;{</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:763</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:709</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mmap() or NtMapViewOfSection() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;{</div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(_flag)&gt;(_flag));</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="abddc6cd762be581f04b00837a8a91730"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abddc6cd762be581f04b00837a8a91730">&#9670;&nbsp;</a></span>mapped_file() <span class="overload">[1/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#abddc6cd762be581f04b00837a8a91730">&#9670;&nbsp;</a></span>mapped_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1366,13 +1044,18 @@ template&lt;class CompletionRoutine &gt; </div>
</dd>
</dl>
<p>Note that if the file is currently zero sized, no mapping occurs now, but later when <code>truncate()</code> or <code>update_map()</code> is called.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values which the constructors for <code>file_handle</code>, <code>section_handle</code> and <code>map_handle</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;{</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching),</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:478</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values which the constructors for file_handle, section_handle and map_handle can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;{</div>
+<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(base)&gt;(base),</div>
+<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode),</div>
+<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching),</div>
+<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a1f0ccde00add2f09579151fd71b8f06d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1f0ccde00add2f09579151fd71b8f06d">&#9670;&nbsp;</a></span>mapped_file() <span class="overload">[2/2]</span></h2>
+<a id="a3eb3e8ef0ddff1270b3d78d4178335c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3eb3e8ef0ddff1270b3d78d4178335c7">&#9670;&nbsp;</a></span>mapped_temp_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1381,40 +1064,40 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_temp_file </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>base</em>, </td>
+ <td class="paramtype">mapped_file_handle::size_type&#160;</td>
+ <td class="paramname"><em>reservation</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em>, </td>
+ <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mapped_file_handle::mode::read</a></code>, </td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">mapped_file_handle::creation::open_existing</a></code>, </td>
+ <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">mapped_file_handle::creation::if_needed</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">mapped_file_handle::caching::all</a></code>, </td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mapped_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>mapped_file_handle::flag::none</code>&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>mapped_file_handle::flag::unlink_on_first_close</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1428,13 +1111,19 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;{</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:478</div></div>
+<p>Create a mapped file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>mapped_uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;{</div>
+<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">mapped_file_handle::mapped_temp_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(name)&gt;(name),</div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation),</div>
+<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a6aaeb9bab04b1dd25fca172623df8dfc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6aaeb9bab04b1dd25fca172623df8dfc">&#9670;&nbsp;</a></span>mapped_random_file()</h2>
+<a id="a58d5390cad390de24a80748c8cd7dc5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58d5390cad390de24a80748c8cd7dc5b">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
<div class="memitem">
<div class="memproto">
@@ -1443,16 +1132,16 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_random_file </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_temp_inode </td>
<td>(</td>
<td class="paramtype">mapped_file_handle::size_type&#160;</td>
- <td class="paramname"><em>reservation</em>, </td>
+ <td class="paramname"><em>reservation</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
+ <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1463,12 +1152,6 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype">mapped_file_handle::flag&#160;</td>
<td class="paramname"><em>flags</em> = <code>mapped_file_handle::flag::none</code>&#160;</td>
</tr>
@@ -1484,14 +1167,17 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Create an mapped file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;{</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">mapped_file_handle::mapped_random_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a6aaeb9bab04b1dd25fca172623df8dfc"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx::mapped_random_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_random_file(mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:491</div></div>
+<p><em>Securely</em> create a mapped file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;{</div>
+<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">mapped_file_handle::mapped_temp_inode</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(dir)&gt;(dir),</div>
+<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a3eb3e8ef0ddff1270b3d78d4178335c7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3eb3e8ef0ddff1270b3d78d4178335c7">&#9670;&nbsp;</a></span>mapped_temp_file()</h2>
+<a id="a092f75c4e639c85797120488d486fa38"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a092f75c4e639c85797120488d486fa38">&#9670;&nbsp;</a></span>mapped_uniquely_named_file()</h2>
<div class="memitem">
<div class="memproto">
@@ -1500,7 +1186,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_temp_file </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_uniquely_named_file </td>
<td>(</td>
<td class="paramtype">mapped_file_handle::size_type&#160;</td>
<td class="paramname"><em>reservation</em>, </td>
@@ -1508,8 +1194,8 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a>&#160;</td>
- <td class="paramname"><em>name</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html">mapped_file_handle::path_view_type</a>()</code>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1520,12 +1206,6 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">mapped_file_handle::creation</a>&#160;</td>
- <td class="paramname"><em>_creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">mapped_file_handle::creation::if_needed</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">mapped_file_handle::caching</a>&#160;</td>
<td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">mapped_file_handle::caching::temporary</a></code>, </td>
</tr>
@@ -1533,58 +1213,6 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mapped_file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>mapped_file_handle::flag::unlink_on_first_close</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a mapped file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>mapped_random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">mapped_file_handle::mapped_temp_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3eb3e8ef0ddff1270b3d78d4178335c7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx::mapped_temp_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_file(mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:511</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a58d5390cad390de24a80748c8cd7dc5b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58d5390cad390de24a80748c8cd7dc5b">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_temp_inode </td>
- <td>(</td>
- <td class="paramtype">mapped_file_handle::size_type&#160;</td>
- <td class="paramname"><em>reservation</em> = <code>0</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mapped_file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mapped_file_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">mapped_file_handle::flag&#160;</td>
<td class="paramname"><em>flags</em> = <code>mapped_file_handle::flag::none</code>&#160;</td>
</tr>
<tr>
@@ -1599,9 +1227,13 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p><em>Securely</em> create a mapped file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;{</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">mapped_file_handle::mapped_temp_inode</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(dir)&gt;(dir), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a58d5390cad390de24a80748c8cd7dc5b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx::mapped_temp_inode</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_inode(mapped_file_handle::size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:526</div></div>
+<p>Create an mapped file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;{</div>
+<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">mapped_file_handle::mapped_uniquely_named_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), std::forward&lt;decltype(dirpath)&gt;(dirpath),</div>
+<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching),</div>
+<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -1629,8 +1261,11 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</div><div class="memdoc">
<p>Return the current maximum permitted extent of the file.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;{</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.maximum_extent();</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;{</div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.maximum_extent();</div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a86f75b69db68e6c0593919f0a878f838"></a>
@@ -1643,9 +1278,9 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> llfio_v2_xxx::nvram_barrier </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a> llfio_v2_xxx::nvram_barrier </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a>&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">io_handle::const_buffer_type</a>&#160;</td>
<td class="paramname"><em>req</em>, </td>
</tr>
<tr>
@@ -1675,11 +1310,20 @@ template&lt;class CompletionRoutine &gt; </div>
</dd>
</dl>
<p>Upon return, one knows that memory in the returned buffer has been barriered (it may be empty if there is no support for this operation in LLFIO, or if the current CPU does not support this operation). You may find the <code>is_nvram()</code> observer of particular use here. </p>
-<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">auto</span> *tp = (io_handle::const_buffer_type::pointer)(((uintptr_t) req.data()) &amp; ~63);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; io_handle::const_buffer_type ret{tp, (size_t)(req.data() + 63 + req.size() - tp) &amp; ~63};</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">if</span>(memory_flush_none == mem_flush_stores(ret.data(), ret.size(), evict ? memory_flush_evict : memory_flush_retain))</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; ret = {tp, 0};</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;{</div>
+<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">auto</span> *tp = (io_handle::const_buffer_type::pointer)(((uintptr_t) req.data()) &amp; ~63);</div>
+<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; io_handle::const_buffer_type ret{tp, (size_t)(req.data() + 63 + req.size() - tp) &amp; ~63};</div>
+<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span>(memory_flush_none == mem_flush_stores(ret.data(), ret.size(), evict ? memory_flush_evict : memory_flush_retain))</div>
+<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
+<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; ret = {tp, 0};</div>
+<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div>
+<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a49f7bb77eb38fbe1280019225b66b78b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a49f7bb77eb38fbe1280019225b66b78b">&#9670;&nbsp;</a></span>path() <span class="overload">[1/2]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a49f7bb77eb38fbe1280019225b66b78b">&#9670;&nbsp;</a></span>path()</h2>
<div class="memitem">
<div class="memproto">
@@ -1712,143 +1356,15 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</div><div class="memdoc">
<p>Create a path handle opening access to some location on the filing system. Some operating systems provide a particularly lightweight method of doing this (Linux: <code>O_PATH</code>, Windows: no access perms) which is much faster than opening a directory. For other systems, we open a directory with read only permissions.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path_handle::path</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a>));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ad8b12afdd4c80d69d2530bd40f92427c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(path_handle::path_view_type _path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:160</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ad8b12afdd4c80d69d2530bd40f92427c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8b12afdd4c80d69d2530bd40f92427c">&#9670;&nbsp;</a></span>path() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&gt; llfio_v2_xxx::path </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_handle::path_view_type</a>&#160;</td>
- <td class="paramname"><em>_path</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path_handle::path</a>(std::forward&lt;decltype(_path)&gt;(_path));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ad8b12afdd4c80d69d2530bd40f92427c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(path_handle::path_view_type _path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:160</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="ad574b7ae82e4a082a7d5703097d65e92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad574b7ae82e4a082a7d5703097d65e92">&#9670;&nbsp;</a></span>random_directory()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::random_directory </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">directory_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">directory_handle::caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">directory_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>directory_handle::flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a directory handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing entry.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;{</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">directory_handle::random_directory</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ad574b7ae82e4a082a7d5703097d65e92"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">llfio_v2_xxx::random_directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; random_directory(const path_handle &amp;dirpath, directory_handle::mode _mode=directory_handle::mode::write, directory_handle::caching _caching=directory_handle::caching::temporary, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:358</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<a id="a5bc9df0fdb554e757d14cf40af0bbb4e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5bc9df0fdb554e757d14cf40af0bbb4e">&#9670;&nbsp;</a></span>random_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::random_file </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>dirpath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a>&#160;</td>
- <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a>&#160;</td>
- <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a></code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">file_handle::flag&#160;</td>
- <td class="paramname"><em>flags</em> = <code>file_handle::flag::none</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;{</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">file_handle::random_file</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5bc9df0fdb554e757d14cf40af0bbb4e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx::random_file</a></div><div class="ttdeci">result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:514</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;{</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path_handle::path</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">path</a>));</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a225e15680392dfa9e1dda42afcc09672"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a225e15680392dfa9e1dda42afcc09672">&#9670;&nbsp;</a></span>read() <span class="overload">[1/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a225e15680392dfa9e1dda42afcc09672">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -1857,7 +1373,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a>&gt; llfio_v2_xxx::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt;io_handle::buffers_type&gt; llfio_v2_xxx::read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
@@ -1865,7 +1381,7 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">io_handle::buffers_type</a> &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; io_handle::buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -1898,62 +1414,16 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;{</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="af678f58d20e1f0962ff0744150342683"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af678f58d20e1f0962ff0744150342683">&#9670;&nbsp;</a></span>read() <span class="overload">[2/3]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">file_handle::io_result</a>&lt;file_handle::size_type&gt; llfio_v2_xxx::read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">file_handle::extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">file_handle::buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;{</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX read() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;{</div>
+<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="ab993693c98cdb52e2d611f8f9e24e4e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab993693c98cdb52e2d611f8f9e24e4e2">&#9670;&nbsp;</a></span>read() <span class="overload">[3/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#ab993693c98cdb52e2d611f8f9e24e4e2">&#9670;&nbsp;</a></span>read() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -1962,7 +1432,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">map_handle::io_result</a>&lt;map_handle::buffers_type&gt; llfio_v2_xxx::read </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">map_handle::io_result</a>&lt;map_handle::buffers_type&gt; llfio_v2_xxx::read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
@@ -1970,7 +1440,7 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::buffers_type &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -2003,9 +1473,12 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;{</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n None, though the various signals and structured exception throws common to using memory maps may occur.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;{</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a60fa5c64c83ce05c8287c5379d082e49"></a>
@@ -2071,13 +1544,16 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.relink(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(atomic_replace)&gt;(atomic_replace), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for renaming open handles (Windows), calls</dt><dd><code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;{</div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.relink(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(atomic_replace)&gt;(atomic_replace),</div>
+<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="ac9be77116e7a2d8c029dd066dfa363fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac9be77116e7a2d8c029dd066dfa363fb">&#9670;&nbsp;</a></span>section() <span class="overload">[1/3]</span></h2>
+<a id="a3d55c0a3b567c7ed05053a94750bb133"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d55c0a3b567c7ed05053a94750bb133">&#9670;&nbsp;</a></span>section() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2095,13 +1571,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">section_handle::extent_type&#160;</td>
- <td class="paramname"><em>maximum_size</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">section_handle::flag&#160;</td>
- <td class="paramname"><em>_flag</em>&#160;</td>
+ <td class="paramname"><em>bytes</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2120,18 +1590,20 @@ template&lt;class CompletionRoutine &gt; </div>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">backing</td><td>The handle to use as backing storage. </td></tr>
- <tr><td class="paramname">maximum_size</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>. </td></tr>
- <tr><td class="paramname">_flag</td><td>How to create the section.</td></tr>
+ <tr><td class="paramname">bytes</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(maximum_size)&gt;(maximum_size), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:709</div></div>
+<p>This convenience overload create a writable section if the backing file is writable, otherwise a read-only section.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;{</div>
+<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div>
+<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a3d55c0a3b567c7ed05053a94750bb133"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3d55c0a3b567c7ed05053a94750bb133">&#9670;&nbsp;</a></span>section() <span class="overload">[2/3]</span></h2>
+<a id="ac9be77116e7a2d8c029dd066dfa363fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9be77116e7a2d8c029dd066dfa363fb">&#9670;&nbsp;</a></span>section() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2149,7 +1621,13 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">section_handle::extent_type&#160;</td>
- <td class="paramname"><em>bytes</em> = <code>0</code>&#160;</td>
+ <td class="paramname"><em>maximum_size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">section_handle::flag&#160;</td>
+ <td class="paramname"><em>_flag</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2168,13 +1646,15 @@ template&lt;class CompletionRoutine &gt; </div>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">backing</td><td>The handle to use as backing storage. </td></tr>
- <tr><td class="paramname">bytes</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>.</td></tr>
+ <tr><td class="paramname">maximum_size</td><td>The initial size of this section, which cannot be larger than any backing file. Zero means to use <code>backing.maximum_extent()</code>. </td></tr>
+ <tr><td class="paramname">_flag</td><td>How to create the section.</td></tr>
</table>
</dd>
</dl>
-<p>This convenience overload create a writable section if the backing file is writable, otherwise a read-only section.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:709</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;{</div>
+<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(maximum_size)&gt;(maximum_size), std::forward&lt;decltype(_flag)&gt;(_flag));</div>
+<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -2227,8 +1707,10 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;{</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:709</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX dup(), open() or NtCreateSection() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;{</div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_flag)&gt;(_flag));</div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -2283,9 +1765,11 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Create a directory handle creating the named directory on some path which the OS declares to be suitable for temporary files. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;{</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">directory_handle::temp_directory</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_addbdc12d4993a8ee40c105a02a105a61"><div class="ttname"><a href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">llfio_v2_xxx::temp_directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; temp_directory(directory_handle::path_view_type name=directory_handle::path_view_type(), directory_handle::mode _mode=directory_handle::mode::write, directory_handle::creation _creation=directory_handle::creation::if_needed, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:370</div></div>
+<p>Create a directory handle creating the named directory on some path which the OS declares to be suitable for temporary files. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;{</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">directory_handle::temp_directory</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -2340,10 +1824,13 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
+<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>uniquely_named_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">file_handle::temp_file</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a70d9ef3b988a880d171015b754bb7b27"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">llfio_v2_xxx::temp_file</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_file(file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:533</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;{</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">file_handle::temp_file</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation),</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
@@ -2387,13 +1874,15 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</div><div class="memdoc">
<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;{</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">file_handle::temp_inode</a>(std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ac8d9dc908fe39f9c896e99f6b7a39d81"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx::temp_inode</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:548</div></div>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;{</div>
+<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">file_handle::temp_inode</a>(std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a16ee1bea5a5791ecde266420e00fba81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16ee1bea5a5791ecde266420e00fba81">&#9670;&nbsp;</a></span>truncate() <span class="overload">[1/3]</span></h2>
+<a id="ab561e45415bf19b8cc6064b6b313d94d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab561e45415bf19b8cc6064b6b313d94d">&#9670;&nbsp;</a></span>to_win32_path()</h2>
<div class="memitem">
<div class="memproto">
@@ -2402,16 +1891,16 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;file_handle::extent_type&gt; llfio_v2_xxx::truncate </td>
+ <td class="memname">result&lt;filesystem::path&gt; llfio_v2_xxx::to_win32_path </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">file_handle::extent_type&#160;</td>
- <td class="paramname"><em>newsize</em>&#160;</td>
+ <td class="paramtype"><a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">win32_path_namespace</a>&#160;</td>
+ <td class="paramname"><em>mapping</em> = <code><a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">win32_path_namespace::any</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2425,21 +1914,29 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Resize the current maximum permitted extent of the file to the given extent, avoiding any new allocation of physical storage where supported. Note that on extents based filing systems this will succeed even if there is insufficient free space on the storage medium.</p>
-<dl class="section return"><dt>Returns</dt><dd>The bytes actually truncated to. </dd></dl>
+
+<p>Maps the current path of <code>h</code> into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. </p>
+<dl class="section return"><dt>Returns</dt><dd>The mapped current path of <code>h</code>, which may have been validated to refer to the exact same inode via <code>.unique_id()</code> (see below). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">newsize</td><td>The bytes to truncate the file to. </td></tr>
+ <tr><td class="paramname">h</td><td>The handle whose <code>.current_path()</code> is to be mapped into a form suitable for Win32 APIs. </td></tr>
+ <tr><td class="paramname">mapping</td><td>Which Win32 path namespace to map onto.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;{</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;}</div></div><!-- fragment -->
+<p>This implementation may need to validate that the mapping of the current path of <code>h</code> onto the desired Win32 path namespace does indeed refer to the same file:</p>
+<ul>
+<li><code>win32_path_namespace::device</code> transforms <code>\!!\Device\...</code> =&gt; <code>\\.\...</code> and ensures that the mapped file's unique id matches the original, otherwise returning failure.</li>
+<li><code>win32_path_namespace::dos</code> enumerates all the DOS devices on the system and what those map onto within the NT kernel namespace. This mapping is for obvious reasons quite slow.</li>
+<li><code>win32_path_namespace::guid_volume</code> simply fetches the GUID of the volume of the handle, and constructs a valid Win32 path from that.</li>
+<li><code>win32_path_namespace::any</code> means attempt <code>guid_volume</code> first, and if it fails (e.g. your file is on a network share) then it attempts <code>dos</code>. This semantic may change in the future, however any path emitted will always be a valid Win32 path. </li>
+</ul>
+<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{ <span class="keywordflow">return</span> h._get_handle().current_path(); }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="aa6b0c71dfe04ceae64818d4c91d05537"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa6b0c71dfe04ceae64818d4c91d05537">&#9670;&nbsp;</a></span>truncate() <span class="overload">[2/3]</span></h2>
+<a id="a16ee1bea5a5791ecde266420e00fba81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16ee1bea5a5791ecde266420e00fba81">&#9670;&nbsp;</a></span>truncate() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2448,16 +1945,16 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;section_handle::extent_type&gt; llfio_v2_xxx::truncate </td>
+ <td class="memname">result&lt;file_handle::extent_type&gt; llfio_v2_xxx::truncate </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &amp;&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">section_handle::extent_type&#160;</td>
- <td class="paramname"><em>newsize</em> = <code>0</code>&#160;</td>
+ <td class="paramtype">file_handle::extent_type&#160;</td>
+ <td class="paramname"><em>newsize</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2471,19 +1968,24 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Resize the current maximum permitted extent of the memory section to the given extent. </p><dl class="params"><dt>Parameters</dt><dd>
+<p>Resize the current maximum permitted extent of the file to the given extent, avoiding any new allocation of physical storage where supported. Note that on extents based filing systems this will succeed even if there is insufficient free space on the storage medium.</p>
+<dl class="section return"><dt>Returns</dt><dd>The bytes actually truncated to. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">newsize</td><td>The new size of the memory section, which cannot be zero. Specify zero to use <code>backing.maximum_extent()</code>. This cannot exceed the size of any backing file used if that file is not writable.</td></tr>
+ <tr><td class="paramname">newsize</td><td>The bytes to truncate the file to. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values <code>NtExtendSection()</code> or <code>ftruncate()</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;{</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;{</div>
+<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div>
+<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a8231f6ba00d0d5840b47981ecc148e51"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8231f6ba00d0d5840b47981ecc148e51">&#9670;&nbsp;</a></span>truncate() <span class="overload">[3/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a8231f6ba00d0d5840b47981ecc148e51">&#9670;&nbsp;</a></span>truncate() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2534,12 +2036,15 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX <code>mremap()</code>, <code>mmap(addr)</code> or <code>VirtualAlloc(addr)</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;{</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize), std::forward&lt;decltype(permit_relocation)&gt;(permit_relocation));</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX mremap(), mmap(addr) or VirtualAlloc(addr) can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize), std::forward&lt;decltype(permit_relocation)&gt;(permit_relocation));</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a3c20b46beeb225aa63ade3dc42e73362"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c20b46beeb225aa63ade3dc42e73362">&#9670;&nbsp;</a></span>unlink()</h2>
+<a id="aa6b0c71dfe04ceae64818d4c91d05537"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6b0c71dfe04ceae64818d4c91d05537">&#9670;&nbsp;</a></span>truncate() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2548,16 +2053,16 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;void&gt; llfio_v2_xxx::unlink </td>
+ <td class="memname">result&lt;section_handle::extent_type&gt; llfio_v2_xxx::truncate </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ <td class="paramtype">section_handle::extent_type&#160;</td>
+ <td class="paramname"><em>newsize</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2571,21 +2076,22 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
-<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
+<p>Resize the current maximum permitted extent of the memory section to the given extent. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
+ <tr><td class="paramname">newsize</td><td>The new size of the memory section, which cannot be zero. Specify zero to use <code>backing.maximum_extent()</code>. This cannot exceed the size of any backing file used if that file is not writable.</td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.unlink(std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values NtExtendSection() or ftruncate() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;{</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5a8908704c9988bbecc69c2359e6fd4a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a8908704c9988bbecc69c2359e6fd4a">&#9670;&nbsp;</a></span>write() <span class="overload">[1/3]</span></h2>
+<a id="aba506997f2999cabbe0a7bd2a1d3b6e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba506997f2999cabbe0a7bd2a1d3b6e0">&#9670;&nbsp;</a></span>uniquely_named_directory()</h2>
<div class="memitem">
<div class="memproto">
@@ -2594,22 +2100,28 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a>&gt; llfio_v2_xxx::write </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::uniquely_named_directory </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">directory_handle::mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">directory_handle::mode::write</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()</code>&#160;</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">directory_handle::caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">directory_handle::caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">directory_handle::flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>directory_handle::flag::none</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2623,25 +2135,119 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
+<p>Create a directory handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing entry.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;{</div>
+<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">directory_handle::uniquely_named_directory</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a5d9582bf6887848cd9fc363a282a1c21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d9582bf6887848cd9fc363a282a1c21">&#9670;&nbsp;</a></span>uniquely_named_file()</h2>
-<p>Write data to the open handle. </p>
-<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written and the some buffers at the end of the returned buffers may return with zero bytes written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::uniquely_named_file </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirpath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">file_handle::mode</a>&#160;</td>
+ <td class="paramname"><em>_mode</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">file_handle::caching</a>&#160;</td>
+ <td class="paramname"><em>_caching</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">file_handle::flag&#160;</td>
+ <td class="paramname"><em>flags</em> = <code>file_handle::flag::none</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX open() or CreateFile() can return.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;{</div>
+<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">file_handle::uniquely_named_file</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode),</div>
+<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div>
+<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a3c20b46beeb225aa63ade3dc42e73362"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c20b46beeb225aa63ade3dc42e73362">&#9670;&nbsp;</a></span>unlink()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;void&gt; llfio_v2_xxx::unlink </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">fs_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>std::chrono::seconds(30)</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Unlinks the current path of this open handle, causing its entry to immediately disappear from the filing system. On Windows unless <code>flag::win_disable_unlink_emulation</code> is set, this behaviour is simulated by renaming the file to something random and setting its delete-on-last-close flag. Note that Windows may prevent the renaming of a file in use by another process, if so it will NOT be renamed. After the next handle to that file closes, it will become permanently unopenable by anyone else until the last handle is closed, whereupon the entry will be eventually removed by the operating system.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Some operating systems provide a race free syscall for unlinking an open handle (Windows). On all other operating systems this call is <b>racy</b> and can result in the wrong file entry being unlinked. Note that unless <code>flag::disable_safety_unlinks</code> is set, this implementation opens a <code>path_handle</code> to the containing directory first, then checks that the item about to be unlinked has the same inode as the open file handle. It will retry this matching until success until the deadline given. This should prevent most unmalicious accidental loss of data.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ <tr><td class="paramname">d</td><td>The deadline by which the matching of the containing directory to the open handle's inode must succeed, else <code>errc::timed_out</code> will be returned. </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;{</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Memory Allocations\n Except on platforms with race free syscalls for unlinking open handles (Windows), calls</dt><dd><code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;{</div>
+<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.unlink(std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a5ea3d93e8b2c7f6e3fca7a9cde734312"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5ea3d93e8b2c7f6e3fca7a9cde734312">&#9670;&nbsp;</a></span>write() <span class="overload">[2/3]</span></h2>
+<a id="a5a8908704c9988bbecc69c2359e6fd4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a8908704c9988bbecc69c2359e6fd4a">&#9670;&nbsp;</a></span>write() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2650,7 +2256,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt;io_handle::size_type&gt; llfio_v2_xxx::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_handle::io_result</a>&lt;io_handle::const_buffers_type&gt; llfio_v2_xxx::write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
@@ -2658,14 +2264,8 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">io_handle::extent_type&#160;</td>
- <td class="paramname"><em>offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> &gt;&#160;</td>
- <td class="paramname"><em>lst</em>, </td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_handle::io_request</a>&lt; io_handle::const_buffers_type &gt;&#160;</td>
+ <td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -2685,12 +2285,28 @@ template&lt;class CompletionRoutine &gt; </div>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;}</div></div><!-- fragment -->
+
+<p>Write data to the open handle. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Depending on the implementation backend, not all of the buffers input may be written and the some buffers at the end of the returned buffers may return with zero bytes written. For example, with a zeroed deadline, some backends may only consume as many buffers as the system has available write slots for, thus for those backends this call is "non-blocking" in the sense that it will return immediately even if it could not schedule a single buffer write. Another example is that some implementations will not auto-extend the length of a file when a write exceeds the maximum extent, you will need to issue a <code>truncate(newsize)</code> first.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers written, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
+ <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
+ <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;{</div>
+<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="a681ed7e98ac17e6bb336b9287365141b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a681ed7e98ac17e6bb336b9287365141b">&#9670;&nbsp;</a></span>write() <span class="overload">[3/3]</span></h2>
+<h2 class="memtitle"><span class="permalink"><a href="#a681ed7e98ac17e6bb336b9287365141b">&#9670;&nbsp;</a></span>write() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -2699,7 +2315,7 @@ template&lt;class CompletionRoutine &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">map_handle::io_result</a>&lt;map_handle::const_buffers_type&gt; llfio_v2_xxx::write </td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">map_handle::io_result</a>&lt;map_handle::const_buffers_type&gt; llfio_v2_xxx::write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;&#160;</td>
<td class="paramname"><em>self</em>, </td>
@@ -2707,7 +2323,7 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt;&#160;</td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt;&#160;</td>
<td class="paramname"><em>reqs</em>, </td>
</tr>
<tr>
@@ -2739,9 +2355,12 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;{</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n None, though the various signals and structured exception throws common to using memory maps may occur.</dt><dd></dd></dl>
+<dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;{</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
<a id="ad0fb15649a46da0d75b5797bfda8dc2e"></a>
@@ -2802,20 +2421,44 @@ template&lt;class CompletionRoutine &gt; </div>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;{</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.zero(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;}</div></div><!-- fragment -->
+<dl class="section user"><dt>Errors returnable\n Any of the values POSIX write() can return, errc::timed_out, errc::operation_canceled. errc::not_supported may be</dt><dd>returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n The default synchronous implementation in file_handle performs no memory allocation.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;{</div>
+<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.zero(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(d)&gt;(d));</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;}</div>
+</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:976</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a70d9ef3b988a880d171015b754bb7b27"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">llfio_v2_xxx::temp_file</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_file(file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:455</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7">llfio_v2_xxx::lock_kind::exclusive</a></div><div class="ttdeci">@ exclusive</div><div class="ttdoc">Exclude those requesting any kind of lock on the same inode.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_addbdc12d4993a8ee40c105a02a105a61"><div class="ttname"><a href="namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61">llfio_v2_xxx::temp_directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; temp_directory(directory_handle::path_view_type name=directory_handle::path_view_type(), directory_handle::mode _mode=directory_handle::mode::write, directory_handle::creation _creation=directory_handle::creation::if_needed, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:417</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5d9582bf6887848cd9fc363a282a1c21"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">llfio_v2_xxx::uniquely_named_file</a></div><div class="ttdeci">result&lt; file_handle &gt; uniquely_named_file(const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:433</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a092f75c4e639c85797120488d486fa38"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">llfio_v2_xxx::mapped_uniquely_named_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_uniquely_named_file(mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:745</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f">llfio_v2_xxx::lock_kind::unlocked</a></div><div class="ttdeci">@ unlocked</div><div class="ttdoc">Exclude none.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae"><div class="ttname"><a href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae">llfio_v2_xxx::win32_path_namespace::dos</a></div><div class="ttdeci">@ dos</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ac8d9dc908fe39f9c896e99f6b7a39d81"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx::temp_inode</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:473</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:171</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e">llfio_v2_xxx::lock_kind::shared</a></div><div class="ttdeci">@ shared</div><div class="ttdoc">Exclude only those requesting an exclusive lock on the same inode.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a3d112d170c1d485e1120de06eef02375"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; directory(const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:394</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_aba506997f2999cabbe0a7bd2a1d3b6e0"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">llfio_v2_xxx::uniquely_named_directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; uniquely_named_directory(const path_handle &amp;dirpath, directory_handle::mode _mode=directory_handle::mode::write, directory_handle::caching _caching=directory_handle::caching::temporary, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:405</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0"><div class="ttname"><a href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0">llfio_v2_xxx::win32_path_namespace::guid_volume</a></div><div class="ttdeci">@ guid_volume</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:418</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a58d5390cad390de24a80748c8cd7dc5b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx::mapped_temp_inode</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_inode(mapped_file_handle::size_type reservation=0, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:790</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:922</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ad8b12afdd4c80d69d2530bd40f92427c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(path_handle::path_view_type _path) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:176</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a3eb3e8ef0ddff1270b3d78d4178335c7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx::mapped_temp_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_file(mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:769</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec"><div class="ttname"><a href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec">llfio_v2_xxx::win32_path_namespace::any</a></div><div class="ttdeci">@ any</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:727</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx.js b/namespacellfio__v2__xxx.js
index c79c3f76..07b12a96 100644
--- a/namespacellfio__v2__xxx.js
+++ b/namespacellfio__v2__xxx.js
@@ -4,29 +4,33 @@ var namespacellfio__v2__xxx =
[ "path_discovery", "namespacellfio__v2__xxx_1_1path__discovery.html", "namespacellfio__v2__xxx_1_1path__discovery" ],
[ "storage_profile", "namespacellfio__v2__xxx_1_1storage__profile.html", "namespacellfio__v2__xxx_1_1storage__profile" ],
[ "utils", "namespacellfio__v2__xxx_1_1utils.html", "namespacellfio__v2__xxx_1_1utils" ],
- [ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html", "classllfio__v2__xxx_1_1async__file__handle" ],
+ [ "awaitable_handle", "classllfio__v2__xxx_1_1awaitable__handle.html", "classllfio__v2__xxx_1_1awaitable__handle" ],
[ "construct", "structllfio__v2__xxx_1_1construct.html", "structllfio__v2__xxx_1_1construct" ],
[ "construct< algorithm::cached_parent_handle_adapter< T > >", "structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html", "structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4" ],
- [ "construct< async_file_handle >", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4" ],
[ "construct< directory_handle >", "structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4" ],
[ "construct< fast_random_file_handle >", "structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4" ],
[ "construct< file_handle >", "structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01file__handle_01_4" ],
[ "construct< map_handle >", "structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01map__handle_01_4" ],
[ "construct< mapped_file_handle >", "structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4" ],
[ "construct< path_handle >", "structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01path__handle_01_4" ],
+ [ "construct< pipe_handle >", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4" ],
+ [ "construct< process_handle >", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4" ],
[ "construct< section_handle >", "structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01section__handle_01_4" ],
[ "construct< symlink_handle >", "structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4" ],
[ "deadline", "structllfio__v2__xxx_1_1deadline.html", "structllfio__v2__xxx_1_1deadline" ],
[ "directory_entry", "structllfio__v2__xxx_1_1directory__entry.html", "structllfio__v2__xxx_1_1directory__entry" ],
[ "directory_handle", "classllfio__v2__xxx_1_1directory__handle.html", "classllfio__v2__xxx_1_1directory__handle" ],
+ [ "dynamic_thread_pool_group", "classllfio__v2__xxx_1_1dynamic__thread__pool__group.html", "classllfio__v2__xxx_1_1dynamic__thread__pool__group" ],
[ "error", "classllfio__v2__xxx_1_1error.html", "classllfio__v2__xxx_1_1error" ],
[ "error_info", "structllfio__v2__xxx_1_1error__info.html", "structllfio__v2__xxx_1_1error__info" ],
+ [ "executor", "classllfio__v2__xxx_1_1executor.html", "classllfio__v2__xxx_1_1executor" ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html", "classllfio__v2__xxx_1_1fast__random__file__handle" ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html", "classllfio__v2__xxx_1_1file__handle" ],
[ "fs_handle", "classllfio__v2__xxx_1_1fs__handle.html", "classllfio__v2__xxx_1_1fs__handle" ],
[ "handle", "classllfio__v2__xxx_1_1handle.html", "classllfio__v2__xxx_1_1handle" ],
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html", "classllfio__v2__xxx_1_1io__handle" ],
- [ "io_service", "classllfio__v2__xxx_1_1io__service.html", "classllfio__v2__xxx_1_1io__service" ],
+ [ "io_multiplexer", "classllfio__v2__xxx_1_1io__multiplexer.html", "classllfio__v2__xxx_1_1io__multiplexer" ],
+ [ "lockable_io_handle", "classllfio__v2__xxx_1_1lockable__io__handle.html", "classllfio__v2__xxx_1_1lockable__io__handle" ],
[ "log_level_guard", "classllfio__v2__xxx_1_1log__level__guard.html", "classllfio__v2__xxx_1_1log__level__guard" ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html", "classllfio__v2__xxx_1_1map__handle" ],
[ "mapped", "classllfio__v2__xxx_1_1mapped.html", "classllfio__v2__xxx_1_1mapped" ],
@@ -36,8 +40,13 @@ var namespacellfio__v2__xxx =
[ "path_hasher", "structllfio__v2__xxx_1_1path__hasher.html", "structllfio__v2__xxx_1_1path__hasher" ],
[ "path_view", "classllfio__v2__xxx_1_1path__view.html", "classllfio__v2__xxx_1_1path__view" ],
[ "path_view_component", "classllfio__v2__xxx_1_1path__view__component.html", "classllfio__v2__xxx_1_1path__view__component" ],
+ [ "pipe_handle", "classllfio__v2__xxx_1_1pipe__handle.html", "classllfio__v2__xxx_1_1pipe__handle" ],
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html", "classllfio__v2__xxx_1_1process__handle" ],
+ [ "read_receiver", "classllfio__v2__xxx_1_1read__receiver.html", "classllfio__v2__xxx_1_1read__receiver" ],
[ "section_handle", "classllfio__v2__xxx_1_1section__handle.html", "classllfio__v2__xxx_1_1section__handle" ],
[ "stat_t", "structllfio__v2__xxx_1_1stat__t.html", "structllfio__v2__xxx_1_1stat__t" ],
[ "statfs_t", "structllfio__v2__xxx_1_1statfs__t.html", "structllfio__v2__xxx_1_1statfs__t" ],
- [ "symlink_handle", "classllfio__v2__xxx_1_1symlink__handle.html", "classllfio__v2__xxx_1_1symlink__handle" ]
+ [ "symlink_handle", "classllfio__v2__xxx_1_1symlink__handle.html", "classllfio__v2__xxx_1_1symlink__handle" ],
+ [ "unique_file_lock", "classllfio__v2__xxx_1_1unique__file__lock.html", "classllfio__v2__xxx_1_1unique__file__lock" ],
+ [ "write_receiver", "classllfio__v2__xxx_1_1write__receiver.html", "classllfio__v2__xxx_1_1write__receiver" ]
]; \ No newline at end of file
diff --git a/namespacellfio__v2__xxx_1_1algorithm.html b/namespacellfio__v2__xxx_1_1algorithm.html
index 385b5434..8120c74e 100644
--- a/namespacellfio__v2__xxx_1_1algorithm.html
+++ b/namespacellfio__v2__xxx_1_1algorithm.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -91,7 +93,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm.h
<div class="contents">
<p>Collection of file system based algorithms.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1algorithm.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
@@ -110,6 +112,26 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle combining the data from one or two other handles. <a href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">compare_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal and comparison algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem contents algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">difference_item</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">reduce_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal and reduction algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">summarize_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal and summary algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A summary of a directory tree. <a href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">traverse_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a constant time capacity expanding move-only STL vector. Requires <code>T</code> to be trivially copyable. <a href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -118,11 +140,26 @@ Classes</h2></td></tr>
Typedefs</h2></td></tr>
<tr class="memitem:a27450e894b5dab6c18a01350670fa0dc"><td class="memTemplParams" colspan="2">template&lt;class Target , class Source &gt; </td></tr>
<tr class="memitem:a27450e894b5dab6c18a01350670fa0dc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc">xor_handle_adapter</a> = <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">combining_handle_adapter</a>&lt; detail::xor_handle_adapter_op, Target, Source &gt;</td></tr>
-<tr class="memdesc:a27450e894b5dab6c18a01350670fa0dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle combining the data from two other handles using XOR. <a href="#a27450e894b5dab6c18a01350670fa0dc">More...</a><br /></td></tr>
+<tr class="memdesc:a27450e894b5dab6c18a01350670fa0dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle combining the data from two other handles using XOR. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc">More...</a><br /></td></tr>
<tr class="separator:a27450e894b5dab6c18a01350670fa0dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:a3c661d6cba0da25fe9e1211ede1fd004"><td class="memItemLeft" align="right" valign="top">result&lt; file_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">clone_or_copy</a> (<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;src, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;destdir, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> destleaf={}, bool preserve_timestamps=true, bool force_copy_now=false, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">file_handle::creation</a> creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">file_handle::creation::always_new</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d={}) noexcept</td></tr>
+<tr class="memdesc:a3c661d6cba0da25fe9e1211ede1fd004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone or copy the extents of the filesystem entity identified by <code>src</code> to <code>destdir</code> optionally renamed to <code>destleaf</code>. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">More...</a><br /></td></tr>
+<tr class="separator:a3c661d6cba0da25fe9e1211ede1fd004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_visitor::contents_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a> *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the contents of everything within and under <code>dirh</code>. What is returned is unordered. <a href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">More...</a><br /></td></tr>
+<tr class="separator:afae251fc3bfb7280b47b6135e2f6c7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6165d32704ff21b4aed3046f11b31cb0"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">summarize</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh, stat_t::want want=<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">traversal_summary::default_metadata</a>(), <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">summarize_visitor</a> *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:a6165d32704ff21b4aed3046f11b31cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Summarise the directory identified <code>dirh</code>, and everything therein. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">More...</a><br /></td></tr>
+<tr class="separator:a6165d32704ff21b4aed3046f11b31cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="memItemLeft" align="right" valign="top">result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">reduce</a> (<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">reduce_visitor</a> *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce the directory identified <code>dirh</code>, and everything therein, to the null set. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">More...</a><br /></td></tr>
+<tr class="separator:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae068bc16598189811d0ce2b3530f1de7"><td class="memItemLeft" align="right" valign="top">result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">traverse</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">traverse_visitor</a> *visitor, size_t threads=0, void *data=nullptr, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:ae068bc16598189811d0ce2b3530f1de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverse everything within and under <code>dirh</code>. <a href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">More...</a><br /></td></tr>
+<tr class="separator:ae068bc16598189811d0ce2b3530f1de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e8566ac7a5eeb0c14cf2387dfb8c1a1"><td class="memTemplParams" colspan="2"><a id="a6e8566ac7a5eeb0c14cf2387dfb8c1a1"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a6e8566ac7a5eeb0c14cf2387dfb8c1a1"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1">operator==</a> (const <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a>&lt; T &gt; &amp;a, const <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html">trivial_vector</a>&lt; T &gt; &amp;b)</td></tr>
@@ -160,7 +197,7 @@ template&lt;class T &gt; </td></tr>
<tr class="separator:ae0973243c4b58d53d6f11ce5a2535a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e474a5af3258fc971c71d057c8fb0bb"><td class="memTemplParams" colspan="2">template&lt;class T , class... Args&gt; </td></tr>
<tr class="memitem:a0e474a5af3258fc971c71d057c8fb0bb"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">cached_parent_handle_adapter</a>&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">cache_parent</a> (Args &amp;&amp;... args) noexcept</td></tr>
-<tr class="memdesc:a0e474a5af3258fc971c71d057c8fb0bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <code>T</code> adapted into a parent handle caching implementation. <a href="#a0e474a5af3258fc971c71d057c8fb0bb">More...</a><br /></td></tr>
+<tr class="memdesc:a0e474a5af3258fc971c71d057c8fb0bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <code>T</code> adapted into a parent handle caching implementation. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">More...</a><br /></td></tr>
<tr class="separator:a0e474a5af3258fc971c71d057c8fb0bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -221,18 +258,392 @@ template&lt;class T , class... Args&gt; </div>
<p>Constructs a <code>T</code> adapted into a parent handle caching implementation. </p>
<p>This function works via the <code>construct&lt;T&gt;()</code> free function framework for which your <code>handle</code> implementation must have registered its construction details. </p>
-<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; construct&lt;T&gt; constructor{std::forward&lt;Args&gt;(args)...};</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; OUTCOME_TRY(h, constructor());</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> cached_parent_handle_adapter&lt;T&gt;(std::move(h), constructor.base, constructor._path);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
+<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; construct&lt;T&gt; constructor{std::forward&lt;Args&gt;(args)...};</div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;h, constructor());</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> cached_parent_handle_adapter&lt;T&gt;(std::move(h), constructor.base, constructor._path);</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a3c661d6cba0da25fe9e1211ede1fd004"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c661d6cba0da25fe9e1211ede1fd004">&#9670;&nbsp;</a></span>clone_or_copy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;file_handle::extent_type&gt; llfio_v2_xxx::algorithm::clone_or_copy </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>destdir</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td>
+ <td class="paramname"><em>destleaf</em> = <code>{}</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>preserve_timestamps</em> = <code>true</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_copy_now</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">file_handle::creation</a>&#160;</td>
+ <td class="paramname"><em>creation</em> = <code><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d">file_handle::creation::always_new</a></code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
+ <td class="paramname"><em>d</em> = <code>{}</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Clone or copy the extents of the filesystem entity identified by <code>src</code> to <code>destdir</code> optionally renamed to <code>destleaf</code>. </p>
+<dl class="section return"><dt>Returns</dt><dd>The number of bytes cloned or copied. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">src</td><td>The file to clone or copy. </td></tr>
+ <tr><td class="paramname">destdir</td><td>The base to lookup <code>destleaf</code> within. </td></tr>
+ <tr><td class="paramname">destleaf</td><td>The leafname to use. If empty, use the same leafname as <code>src</code> currently has. </td></tr>
+ <tr><td class="paramname">preserve_timestamps</td><td>Use <code>stat_t::stamp()</code> to preserve as much metadata from the original to the clone/copy as possible. </td></tr>
+ <tr><td class="paramname">force_copy_now</td><td>Parameter to pass to <code>file_handle::clone_extents()</code> to force extents to be copied now, not copy-on-write lazily later. </td></tr>
+ <tr><td class="paramname">creation</td><td>How to create the destination file handle. NOTE that if this is NOT <code>always_new</code>, if the destination has identical maximum extent and last modified timestamp (and permissions on POSIX) to the source, it is NOT copied, and zero is returned. </td></tr>
+ <tr><td class="paramname">d</td><td>Deadline by which to complete the operation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Firstly, a <code>file_handle</code> is constructed at the destination using <code>creation</code>, which defaults to always creating a new inode. The caching used for the destination handle is replicated from the source handle &ndash; be aware that not caching metadata is expensive.</p>
+<p>Next <code>file_handle::clone_extents()</code> with <code>emulate_if_unsupported = false</code> is called on the whole file content. If extent cloning is supported, this will be very fast and not consume new disk space (note: except on networked filesystems). If the source file is sparsely allocated, the destination will have identical sparse allocation.</p>
+<p>If the previous operation did not succeed, the disk free space is checked using <code>statfs_t</code>, and if the copy would exceed current disk free space, the destination file is unlinked and an error code comparing equal to <code>errc::no_space_on_device</code> is returned.</p>
+<p>Next, <code>file_handle::clone_extents()</code> with <code>emulate_if_unsupported = true</code> is called on the whole file content. This copies only the allocated extents in blocks sized whatever is the large page size on this platform (2Mb on x64).</p>
+<p>Finally, if <code>preserve_timestamps</code> is true, the destination file handle is restamped with the metadata from the source file handle just before the destination file handle is closed. </p>
+
+</div>
+</div>
+<a id="afae251fc3bfb7280b47b6135e2f6c7e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afae251fc3bfb7280b47b6135e2f6c7e2">&#9670;&nbsp;</a></span>contents()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_visitor::contents_type</a>&gt; llfio_v2_xxx::algorithm::contents </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a> *&#160;</td>
+ <td class="paramname"><em>visitor</em> = <code>nullptr</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>threads</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_slow_path</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculate the contents of everything within and under <code>dirh</code>. What is returned is unordered. </p>
+<p>This is a very thin veneer over <code>traverse()</code> which came out of the fact that I kept writing "get me the contents" traversal visitors again and again, so eventually I just wrote a library edition. Its only "clever" bit is that it stores the contents in thread local storage, and merges the contents afterwards.</p>
+<p>It is race free to concurrent relocations of <code>dirh</code>. It is entirely implemented in header-only code, as it is very simple. </p>
+<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; contents_visitor default_visitor;</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(visitor == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; visitor = &amp;default_visitor;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; contents_visitor::_state_type state(dirh);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;dirhpath, dirh.current_path());</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; state.rootdirpathlen.store(dirhpath.native().size() + 1, std::memory_order_relaxed);</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; OUTCOME_TRY(<a class="code" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">traverse</a>(dirh, visitor, threads, &amp;state, force_slow_path));</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> {std::move(state.contents)};</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a05594f7c8ae275fa65b2acd57cc9b8ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05594f7c8ae275fa65b2acd57cc9b8ac">&#9670;&nbsp;</a></span>reduce()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;size_t&gt; llfio_v2_xxx::algorithm::reduce </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">reduce_visitor</a> *&#160;</td>
+ <td class="paramname"><em>visitor</em> = <code>nullptr</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>threads</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_slow_path</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reduce the directory identified <code>dirh</code>, and everything therein, to the null set. </p>
+<p>You might be surprised to learn that most directory tree removal implementations are of poor quality, not leveraging the filesystem facilities that are available, not handling concurrent modification of the filesystem correctly, having poor performance, or failing to handle not uncommon corner cases. This implementation is considerably better quality, indeed it is to my knowledge the highest quality possible on at least Linux and Microsoft Windows.</p>
+<p>The algorithm is as follows:</p>
+<ol type="1">
+<li>Attempt to rename <code>dirh</code> to a uniquely named directory. If successful, this causes concurrent users to no longer see the directory tree. It also usefully detects if permissions problems would prevent whole directory tree removal. Note that on Windows, if any process has a handle open to anything inside the directory tree, it is usually the case that all renames will be prevented.</li>
+<li><code>algorithm::traverse()</code> is begun, using the visitor supplied. This will unlink all items using a breadth-first algorithm, from root to tips. With the default visitor, directories which cannot be opened for traversal are ignored; entries which cannot be unlinked are attempted to be renamed into the base directory; entries which cannot be renamed are ignored.</li>
+<li>Except for unrenameable files, now the entire directory tree will have been reduced to a minimum possible set of uniquely named items in the base directory, all of which by definition must be undeletable. We now loop attempting to reduce the remaining entries. The default visitor implementation takes a timeout, which if exceeded, an error code comparing equal to <code>errc::timed_out</code> is returned.</li>
+</ol>
+<p>Even on slow filesystems such as those on Windows, or networked filesystems, this algorithm performs very well. We do not currently inspect the filing system to see if bisect unlinking directories with millions of entries will perform well (some filing systems can store very large directories with multiple independent inode locks, thus using multiple kernel threads on the same directory sees a large performance increase for very large directories). We also remove items based on enumerated order, under the assumption that filesystems will have optimised for this specific use case.</p>
+<p>If the function succeeds, <code>dirh</code> is moved into the function, and the total number of filesystem entries removed is returned.</p>
+<p>If the function fails, <code>dirh</code> is NOT moved into the function, and continues to refer to the (likely renamed) directory you passed in. You might do something like try to rename it into <code>storage_backed_temporary_files_directory()</code>, or some other hail mary action.</p>
+<p>You should review the documentation for <code>algorithm::traverse()</code>, as this algorithm is entirely implemented using that algorithm. </p>
+
+</div>
+</div>
+<a id="a6165d32704ff21b4aed3046f11b31cb0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6165d32704ff21b4aed3046f11b31cb0">&#9670;&nbsp;</a></span>summarize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> &gt; llfio_v2_xxx::algorithm::summarize </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">stat_t::want&#160;</td>
+ <td class="paramname"><em>want</em> = <code><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">traversal_summary::default_metadata</a>()</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">summarize_visitor</a> *&#160;</td>
+ <td class="paramname"><em>visitor</em> = <code>nullptr</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>threads</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_slow_path</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Summarise the directory identified <code>dirh</code>, and everything therein. </p>
+<p>It can be useful to summarise a directory hierarchy, especially to determine how much storage it occupies, but also how many mounted filesystems it straddles etc. You should specify what metadata you wish to summarise, if this is a subset of what metadata <code>directory_handle::read()</code> returns, performance will be considerably better. The default summarises all possible metadata.</p>
+<p>This is a trivial implementation on top of <code>algorithm::traverse()</code>, indeed it is implemented entirely as header code. You should review the documentation for <code>algorithm::traverse()</code>, as this algorithm is entirely implemented using that algorithm. </p>
+<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; LLFIO_LOG_FUNCTION_CALL(&amp;dirh);</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; summarize_visitor default_visitor;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span>(visitor == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; visitor = &amp;default_visitor;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; result&lt;traversal_summary&gt; state(in_place_type&lt;traversal_summary&gt;);</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; state.assume_value().want = want;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; directory_entry entry{{}, stat_t(<span class="keyword">nullptr</span>)};</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; OUTCOME_TRY(entry.stat.fill(dirh, want));</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; OUTCOME_TRY(summarize_visitor::accumulate(state.assume_value(), &amp;state.assume_value(), <span class="keyword">nullptr</span>, entry, want));</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; OUTCOME_TRY(<a class="code" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">traverse</a>(dirh, visitor, threads, &amp;state.assume_value(), force_slow_path));</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> state;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ae068bc16598189811d0ce2b3530f1de7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae068bc16598189811d0ce2b3530f1de7">&#9670;&nbsp;</a></span>traverse()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;size_t&gt; llfio_v2_xxx::algorithm::traverse </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">traverse_visitor</a> *&#160;</td>
+ <td class="paramname"><em>visitor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>threads</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em> = <code>nullptr</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_slow_path</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Traverse everything within and under <code>dirh</code>. </p>
+<p>The algorithm is as follows:</p>
+<ol type="1">
+<li>Call <code>pre_enumeration()</code> of the visitor on the <code>directory_handle</code> about to be enumerated.</li>
+<li>Enumerate the contents of the directory.</li>
+<li>Call <code>post_enumeration()</code> of the visitor on the contents just enumerated.</li>
+<li>For each directory in the contents, append the directory handle and each directory leafname to its hierarchy depth level in a stack of lists.</li>
+<li>Loop, using the least deep available item in the stack, until the stack is empty.</li>
+</ol>
+<p>If <code>known_dirs_remaining</code> exceeds four, a threadpool of not more than <code>threads</code> threads is spun up in order to traverse the hierarchy more quickly.</p>
+<p>This algorithm is therefore primarily a breadth-first algorithm, in that we proceed from root, level by level, to the tips. The number returned is the total number of directories traversed.</p>
+<h2><a class="anchor" id="autotoc_md17"></a>
+Notes</h2>
+<p>The implementation tries hard to not open too many file descriptors at a time in order to not exceed the system limit, which may be as low as 1024 on POSIX. On POSIX, it checks <code>getrlimit(RLIMIT_NOFILE)</code> for the soft limit on open file descriptors, and if the remaining unused open file descriptors is less than 65536, it will prefer a slow path implementation which exchanges file descriptor usage for lots more dynamic memory allocation and memory copying. You can force this slow path on any platform using <code>force_slow_path</code>, and in correct code you should always check for failures in <code>directory_open_failed()</code> comparing equal to <code>errc::too_many_files_open</code>, and if encountered restart the traversal using the slow path forced.</p>
+<p>Almost every modern POSIX system allows a <code>RLIMIT_NOFILE</code> of over a million nowadays, so you should <code>setrlimit(RLIMIT_NOFILE)</code> appropriately in your program if you are absolutely sure that doing so will not break code in your program (e.g. <code>select()</code> fails spectacularly if file descriptors exceed 1024 on most POSIX).</p>
+<p>To give an idea of the difference slow path makes, for Linux ext4:</p>
+<ul>
+<li>Slow path, 1 thread, traversed 131,915 directories and 8,254,162 entries in 3.10 seconds.</li>
+<li>Slow path, 16 threads, traversed 131,915 directories and 8,254,162 entries in 0.966 seconds.</li>
+<li>Fast path, 1 thread, traversed 131,915 directories and 8,254,162 entries in 2.73 seconds (+12%).</li>
+<li>Fast path, 16 threads, traversed 131,915 directories and 8,254,162 entries in 0.525 seconds (+46%). </li>
+</ul>
+
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1algorithm_html_ae068bc16598189811d0ce2b3530f1de7"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">llfio_v2_xxx::algorithm::traverse</a></div><div class="ttdeci">result&lt; size_t &gt; traverse(const path_handle &amp;dirh, traverse_visitor *visitor, size_t threads=0, void *data=nullptr, bool force_slow_path=false) noexcept</div><div class="ttdoc">Traverse everything within and under dirh.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1algorithm.js b/namespacellfio__v2__xxx_1_1algorithm.js
index 3e75a455..20c6183a 100644
--- a/namespacellfio__v2__xxx_1_1algorithm.js
+++ b/namespacellfio__v2__xxx_1_1algorithm.js
@@ -4,5 +4,12 @@ var namespacellfio__v2__xxx_1_1algorithm =
[ "shared_fs_mutex", "namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html", "namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex" ],
[ "cached_parent_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html", "classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter" ],
[ "combining_handle_adapter", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html", "classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter" ],
+ [ "compare_visitor", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor" ],
+ [ "contents_visitor", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor" ],
+ [ "difference_item", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html", "structllfio__v2__xxx_1_1algorithm_1_1difference__item" ],
+ [ "reduce_visitor", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor" ],
+ [ "summarize_visitor", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor" ],
+ [ "traversal_summary", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary" ],
+ [ "traverse_visitor", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor" ],
[ "trivial_vector", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector" ]
]; \ No newline at end of file
diff --git a/namespacellfio__v2__xxx_1_1algorithm_1_1impl.html b/namespacellfio__v2__xxx_1_1algorithm_1_1impl.html
index 8bf3f94e..f5475cf0 100644
--- a/namespacellfio__v2__xxx_1_1algorithm_1_1impl.html
+++ b/namespacellfio__v2__xxx_1_1algorithm_1_1impl.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::impl Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1_1impl.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1_1impl.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,7 +91,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1
<div class="contents">
<p>Does not exist in the actual source code, purely here to workaround doxygen limitations.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -128,7 +130,7 @@ template&lt;class T &gt; </td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">impl</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html b/namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html
index 6c248fea..c927e718 100644
--- a/namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html
+++ b/namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,7 +91,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1algorithm_1
<div class="contents">
<p>Algorithms for protecting a shared filing system resource from racy modification.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -133,7 +135,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nam
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1path__discovery.html b/namespacellfio__v2__xxx_1_1path__discovery.html
index 088fd69e..d76be2a0 100644
--- a/namespacellfio__v2__xxx_1_1path__discovery.html
+++ b/namespacellfio__v2__xxx_1_1path__discovery.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_discovery Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1path__discovery.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1path__discovery.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,7 +91,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1path__disco
<div class="contents">
<p>Contains functions used to discover suitable paths for things.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1path__discovery.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -103,17 +105,20 @@ Functions</h2></td></tr>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d">discovered_path::source_type</a> &amp;v)</td></tr>
<tr class="separator:a876db6e58143e730afd0706226f39d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0466e529e851d2d58ce87e0e28f4f2"><td class="memItemLeft" align="right" valign="top">span&lt; <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html">discovered_path</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">all_temporary_directories</a> (bool refresh=false) noexcept</td></tr>
-<tr class="memdesc:ada0466e529e851d2d58ce87e0e28f4f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of potential directories which might be usuable for temporary files. <a href="#ada0466e529e851d2d58ce87e0e28f4f2">More...</a><br /></td></tr>
+<tr class="memdesc:ada0466e529e851d2d58ce87e0e28f4f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of potential directories which might be usuable for temporary files. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">More...</a><br /></td></tr>
<tr class="separator:ada0466e529e851d2d58ce87e0e28f4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c4aaa0c413e4989461ab6551058583"><td class="memItemLeft" align="right" valign="top">span&lt; <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html">discovered_path</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583">verified_temporary_directories</a> () noexcept</td></tr>
-<tr class="memdesc:ab3c4aaa0c413e4989461ab6551058583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a subset of <code>all_temporary_directories()</code> each of which has been tested to be writable by the current process. No testing is done of available writable space. <a href="#ab3c4aaa0c413e4989461ab6551058583">More...</a><br /></td></tr>
+<tr class="memdesc:ab3c4aaa0c413e4989461ab6551058583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a subset of <code>all_temporary_directories()</code> each of which has been tested to be writable by the current process. No testing is done of available writable space. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583">More...</a><br /></td></tr>
<tr class="separator:ab3c4aaa0c413e4989461ab6551058583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd74ea752f3f511d58ccccdcac7f4fd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">storage_backed_temporary_files_directory</a> () noexcept</td></tr>
-<tr class="memdesc:a2dd74ea752f3f511d58ccccdcac7f4fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where files created are stored in a filesystem directory, usually under the current user's quota. <a href="#a2dd74ea752f3f511d58ccccdcac7f4fd">More...</a><br /></td></tr>
+<tr class="memdesc:a2dd74ea752f3f511d58ccccdcac7f4fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where files created are stored in a filesystem directory, usually under the current user's quota. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">More...</a><br /></td></tr>
<tr class="separator:a2dd74ea752f3f511d58ccccdcac7f4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade18f14d3ef37488e8967c87faa04d29"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">memory_backed_temporary_files_directory</a> () noexcept</td></tr>
-<tr class="memdesc:ade18f14d3ef37488e8967c87faa04d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where files created are stored in memory/paging file, and thus access may be a lot quicker, but stronger limits on capacity may apply. <a href="#ade18f14d3ef37488e8967c87faa04d29">More...</a><br /></td></tr>
+<tr class="memdesc:ade18f14d3ef37488e8967c87faa04d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where files created are stored in memory/paging file, and thus access may be a lot quicker, but stronger limits on capacity may apply. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">More...</a><br /></td></tr>
<tr class="separator:ade18f14d3ef37488e8967c87faa04d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d3e2ea602c3195433c7898c41744188"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">temporary_named_pipes_directory</a> () noexcept</td></tr>
+<tr class="memdesc:a2d3e2ea602c3195433c7898c41744188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where named pipes may be created and found. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">More...</a><br /></td></tr>
+<tr class="separator:a2d3e2ea602c3195433c7898c41744188"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains functions used to discover suitable paths for things. </p>
@@ -144,8 +149,8 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>Returns a list of potential directories which might be usuable for temporary files. </p>
<p>This is a fairly lightweight call which builds a master list of all potential temporary file directories given the environment block of this process (unless SUID or SGID or Privilege Elevation are in effect) and the user running this process. It does not verify if any of them exist, or are writable, or anything else about them. An internal mutex is held for the duration of this call.</p>
-<dl class="section user"><dt>Memory Allocations</dt><dd>Allocates the master list of discovered temporary directories exactly once per process, unless <code>refresh</code> is true in which case the list will be refreshed. The system calls to retrieve paths may allocate additional memory for paths returned. </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>This call never fails, except to return an empty span. </dd></dl>
+<dl class="section user"><dt>Memory Allocations\n Allocates the master list of discovered temporary directories exactly once per process,</dt><dd>unless <code>refresh</code> is true in which case the list will be refreshed. The system calls to retrieve paths may allocate additional memory for paths returned. </dd></dl>
+<dl class="section user"><dt>Errors returnable\n This call never fails, except to return an empty span.</dt><dd></dd></dl>
</div>
</div>
@@ -205,11 +210,40 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>Returns a reference to an open handle to a verified temporary directory where files created are stored in a filesystem directory, usually under the current user's quota. </p>
<p>This is implemented by iterating all of the paths returned by <code>verified_temporary_directories()</code> and checking what file system is in use. The following regex is used:</p>
-<p><code>btrfs|cifs|exfat|ext(2|3|4)|f2fs|hfs|jfs|lxfs|nfs|nilf2|ufs|vfat|xfs|zfs|msdosfs|newnfs|ntfs|smbfs|unionfs|fat|fat32</code></p>
+<p><code>btrfs|cifs|exfat|ext(2|3|4)|f2fs|hfs|apfs|jfs|lxfs|nfs|nilf2|ufs|vfat|xfs|zfs|msdosfs|newnfs|ntfs|smbfs|unionfs|fat|fat32</code></p>
<p>The handle is created during <code>verified_temporary_directories()</code> and is statically cached thereafter. </p>
</div>
</div>
+<a id="a2d3e2ea602c3195433c7898c41744188"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d3e2ea602c3195433c7898c41744188">&#9670;&nbsp;</a></span>temporary_named_pipes_directory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a>&amp; llfio_v2_xxx::path_discovery::temporary_named_pipes_directory </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns a reference to an open handle to a verified temporary directory where named pipes may be created and found. </p>
+<p>On Microsoft Windows, this is <code>\Device\NamedPipe</code> within the NT kernel namespace.</p>
+<p>On POSIX, this is <code>storage_backed_temporary_files_directory()</code>. </p>
+
+</div>
+</div>
<a id="ab3c4aaa0c413e4989461ab6551058583"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3c4aaa0c413e4989461ab6551058583">&#9670;&nbsp;</a></span>verified_temporary_directories()</h2>
@@ -234,8 +268,8 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</div><div class="memdoc">
<p>Returns a subset of <code>all_temporary_directories()</code> each of which has been tested to be writable by the current process. No testing is done of available writable space. </p>
-<p>After this call returns, the successfully probed entries returned by <code>all_temporary_directories()</code> will have their stat structure set. As the probing involves creating a non-zero sized file in each possible temporary directory to verify its validity, this is not a fast call. It is however cached statically, so the cost occurs exactly once per process, unless someone calls <code>all_temporary_directories(true)</code> to wipe and refresh the master list. An internal mutex is held for the duration of this call. </p><dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>This call never fails, though if it fails to find any writable temporary directory, it will terminate the process. </dd></dl>
+<p>After this call returns, the successfully probed entries returned by <code>all_temporary_directories()</code> will have their stat structure set. As the probing involves creating a non-zero sized file in each possible temporary directory to verify its validity, this is not a fast call. It is however cached statically, so the cost occurs exactly once per process, unless someone calls <code>all_temporary_directories(true)</code> to wipe and refresh the master list. An internal mutex is held for the duration of this call. </p><dl class="section user"><dt>Memory Allocations\n None.</dt><dd></dd></dl>
+<dl class="section user"><dt>Errors returnable\n This call never fails, though if it fails to find any writable temporary directory, it will</dt><dd>terminate the process. </dd></dl>
</div>
</div>
@@ -247,7 +281,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html">path_discovery</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1storage__profile.html b/namespacellfio__v2__xxx_1_1storage__profile.html
index cf0b6b9c..6fe184e3 100644
--- a/namespacellfio__v2__xxx_1_1storage__profile.html
+++ b/namespacellfio__v2__xxx_1_1storage__profile.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::storage_profile Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1storage__profile.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1storage__profile.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,7 +92,7 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1storage__pr
<div class="contents">
<p>YAML databaseable empirical testing of a storage's behaviour.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1storage__profile.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
@@ -118,8 +120,8 @@ Enumerations</h2></td></tr>
&#160;&#160;<b>float_</b>,
<b>string</b>
<br />
- }<tr class="memdesc:ac4910e412ff87c1c9e33615d81b2d238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types potentially storable in a storage profile. <br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:ac4910e412ff87c1c9e33615d81b2d238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types potentially storable in a storage profile. <br /></td></tr>
<tr class="separator:ac4910e412ff87c1c9e33615d81b2d238"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -134,27 +136,27 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:aac385da4b780e8a6a87444fe3579578c"><td class="memTemplItemLeft" align="right" valign="top">constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c">default_value</a> ()</td></tr>
<tr class="memdesc:aac385da4b780e8a6a87444fe3579578c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialise for a different default value for T. <br /></td></tr>
<tr class="separator:aac385da4b780e8a6a87444fe3579578c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memTemplParams" colspan="2"><a id="ab51d8b1bb205563a6b82900f6de7bd63"></a>
+<tr class="memitem:a0a16ab53f56c2a0de98643f6838d6765"><td class="memItemLeft" align="right" valign="top"><a id="a0a16ab53f56c2a0de98643f6838d6765"></a>
template&lt;&gt; </td></tr>
-<tr class="memitem:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">storage_types</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_to_storage_type&lt; io_service::extent_type &gt;</b> ()</td></tr>
-<tr class="separator:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memTemplParams" colspan="2"><a id="afc8c9aab3aef68e2bfdf76e85b22b194"></a>
+<tr class="memitem:a0a16ab53f56c2a0de98643f6838d6765"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">storage_types</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_to_storage_type&lt; io_handle::extent_type &gt;</b> ()</td></tr>
+<tr class="separator:a0a16ab53f56c2a0de98643f6838d6765"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memItemLeft" align="right" valign="top"><a id="a3e1eeb85729bbc7ecb5d0861fac74916"></a>
template&lt;&gt; </td></tr>
-<tr class="memitem:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>default_value&lt; io_service::extent_type &gt;</b> ()</td></tr>
-<tr class="separator:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memTemplParams" colspan="2"><a id="a79927d0371baaf191dac6acb2fb58dbb"></a>
+<tr class="memitem:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memTemplItemLeft" align="right" valign="top">constexpr io_handle::extent_type&#160;</td><td class="memTemplItemRight" valign="bottom"><b>default_value&lt; io_handle::extent_type &gt;</b> ()</td></tr>
+<tr class="separator:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memItemLeft" align="right" valign="top"><a id="a79927d0371baaf191dac6acb2fb58dbb"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">storage_types</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_to_storage_type&lt; unsigned int &gt;</b> ()</td></tr>
<tr class="separator:a79927d0371baaf191dac6acb2fb58dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memTemplParams" colspan="2"><a id="a974992f9521e12b67597474b92876876"></a>
+<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memItemLeft" align="right" valign="top"><a id="a974992f9521e12b67597474b92876876"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memTemplItemLeft" align="right" valign="top">constexpr unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><b>default_value&lt; unsigned int &gt;</b> ()</td></tr>
<tr class="separator:a974992f9521e12b67597474b92876876"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memTemplParams" colspan="2"><a id="a2be36be3a6e4a8e892f34666642d7ceb"></a>
+<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memItemLeft" align="right" valign="top"><a id="a2be36be3a6e4a8e892f34666642d7ceb"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">storage_types</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_to_storage_type&lt; float &gt;</b> ()</td></tr>
<tr class="separator:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memTemplParams" colspan="2"><a id="ae12aeddbd8623fc0118be8d653e2ab23"></a>
+<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memItemLeft" align="right" valign="top"><a id="ae12aeddbd8623fc0118be8d653e2ab23"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memTemplItemLeft" align="right" valign="top">constexpr <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">storage_types</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_to_storage_type&lt; std::string &gt;</b> ()</td></tr>
<tr class="separator:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -169,7 +171,7 @@ template&lt;&gt; </td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1this__thread.html b/namespacellfio__v2__xxx_1_1this__thread.html
new file mode 100644
index 00000000..e6ecc744
--- /dev/null
+++ b/namespacellfio__v2__xxx_1_1this__thread.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::this_thread Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1this__thread.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::this_thread Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Thread local settings.
+<a href="namespacellfio__v2__xxx_1_1this__thread.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:afd6a1f179a8f8027f6c051badadf2707"><td class="memItemLeft" align="right" valign="top"><a id="afd6a1f179a8f8027f6c051badadf2707"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">multiplexer</a> () noexcept</td></tr>
+<tr class="memdesc:afd6a1f179a8f8027f6c051badadf2707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the calling thread's current i/o multiplexer. <br /></td></tr>
+<tr class="separator:afd6a1f179a8f8027f6c051badadf2707"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5221e1507e45bcb729961c59cce7fbae"><td class="memItemLeft" align="right" valign="top"><a id="a5221e1507e45bcb729961c59cce7fbae"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#a5221e1507e45bcb729961c59cce7fbae">set_multiplexer</a> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a> *ctx) noexcept</td></tr>
+<tr class="memdesc:a5221e1507e45bcb729961c59cce7fbae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the calling thread's current i/o multiplexer. <br /></td></tr>
+<tr class="separator:a5221e1507e45bcb729961c59cce7fbae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Thread local settings. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html">this_thread</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/namespacellfio__v2__xxx_1_1utils.html b/namespacellfio__v2__xxx_1_1utils.html
index 2ee15b88..618eef05 100644
--- a/namespacellfio__v2__xxx_1_1utils.html
+++ b/namespacellfio__v2__xxx_1_1utils.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::utils Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1utils.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1utils.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,20 +91,23 @@ $(document).ready(function(){initNavTree('namespacellfio__v2__xxx_1_1utils.html'
<div class="contents">
<p>Utility routines often useful when using LLFIO.
-<a href="#details">More...</a></p>
+<a href="namespacellfio__v2__xxx_1_1utils.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An STL allocator which allocates large TLB page memory.If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified. <a href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An STL allocator which allocates large TLB page memory. <a href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">page_allocator&lt; void &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">process_memory_usage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory usage statistics for a process. <a href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a42fc69cae3dbbf66498545cbe358e2ba"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">page_size</a> () noexcept</td></tr>
-<tr class="memdesc:a42fc69cae3dbbf66498545cbe358e2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the smallest page size of this architecture which is useful for calculating direct i/o multiples. <a href="#a42fc69cae3dbbf66498545cbe358e2ba">More...</a><br /></td></tr>
+<tr class="memdesc:a42fc69cae3dbbf66498545cbe358e2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the smallest page size of this architecture which is useful for calculating direct i/o multiples. <a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">More...</a><br /></td></tr>
<tr class="separator:a42fc69cae3dbbf66498545cbe358e2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5499feaf6b774e774a26e7decd11e3fa"><td class="memTemplParams" colspan="2"><a id="a5499feaf6b774e774a26e7decd11e3fa"></a>
template&lt;class T &gt; </td></tr>
@@ -114,34 +119,29 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:a67f8f31f6b93293a22a4b30d686eb3af"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af">round_up_to_page_size</a> (T i, size_t pagesize) noexcept</td></tr>
<tr class="memdesc:a67f8f31f6b93293a22a4b30d686eb3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a value to its next highest page size multiple. <br /></td></tr>
<tr class="separator:a67f8f31f6b93293a22a4b30d686eb3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa36e8bc2a1f004696c09d104e23d685"><td class="memTemplParams" colspan="2"><a id="afa36e8bc2a1f004696c09d104e23d685"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:afa36e8bc2a1f004696c09d104e23d685"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685">round_to_page_size</a> (T i, size_t pagesize) noexcept</td></tr>
-<tr class="memdesc:afa36e8bc2a1f004696c09d104e23d685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded down, the size_t upwards. <br /></td></tr>
-<tr class="separator:afa36e8bc2a1f004696c09d104e23d685"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; size_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">page_sizes</a> (bool only_actually_available=true)</td></tr>
-<tr class="memdesc:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the page sizes of this architecture which is useful for calculating direct i/o multiples. <a href="#a6c41e314d4d4b8362b96a3b4c1c363f5">More...</a><br /></td></tr>
-<tr class="separator:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90d8f94ddb6e026f931e86d0dc904778"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778">file_buffer_default_size</a> ()</td></tr>
-<tr class="memdesc:a90d8f94ddb6e026f931e86d0dc904778"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reasonable default size for page_allocator, typically the closest page size from page_sizes() to 1Mb. <a href="#a90d8f94ddb6e026f931e86d0dc904778">More...</a><br /></td></tr>
-<tr class="separator:a90d8f94ddb6e026f931e86d0dc904778"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="memItemLeft" align="right" valign="top">LLFIO_TEMPLATE(class T) LLFIO_TREQUIRES(LLFIO_TEXPR(std size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">file_buffer_default_size</a> ()</td></tr>
+<tr class="memdesc:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded down, the size_t upwards. <a href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">More...</a><br /></td></tr>
+<tr class="separator:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae61e2de30b06776a1c24643a1d1dc64e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">random_fill</a> (char *buffer, size_t bytes) noexcept</td></tr>
-<tr class="memdesc:ae61e2de30b06776a1c24643a1d1dc64e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API. <a href="#ae61e2de30b06776a1c24643a1d1dc64e">More...</a><br /></td></tr>
+<tr class="memdesc:ae61e2de30b06776a1c24643a1d1dc64e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API. <a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">More...</a><br /></td></tr>
<tr class="separator:ae61e2de30b06776a1c24643a1d1dc64e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a29cf29a4b097411f6c1e5274bfb417"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">random_string</a> (size_t randomlen)</td></tr>
-<tr class="memdesc:a6a29cf29a4b097411f6c1e5274bfb417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a cryptographically random string capable of being used as a filename. Essentially random_fill() + to_hex_string(). <a href="#a6a29cf29a4b097411f6c1e5274bfb417">More...</a><br /></td></tr>
+<tr class="memdesc:a6a29cf29a4b097411f6c1e5274bfb417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a cryptographically random string capable of being used as a filename. Essentially random_fill() + to_hex_string(). <a href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">More...</a><br /></td></tr>
<tr class="separator:a6a29cf29a4b097411f6c1e5274bfb417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1d9ee5d6d391f39f62dacbc8c957ae8"><td class="memItemLeft" align="right" valign="top"><a id="ae1d9ee5d6d391f39f62dacbc8c957ae8"></a>
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8">flush_modified_data</a> () noexcept</td></tr>
<tr class="memdesc:ae1d9ee5d6d391f39f62dacbc8c957ae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to flush all modified data to the physical device. <br /></td></tr>
<tr class="separator:ae1d9ee5d6d391f39f62dacbc8c957ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abacefaf60ae391226c4775cf8a61276a"><td class="memItemLeft" align="right" valign="top">result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a">drop_filesystem_cache</a> () noexcept</td></tr>
-<tr class="memdesc:abacefaf60ae391226c4775cf8a61276a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to flush all modified data to the physical device, and then drop the OS filesystem cache, thus making all future reads come from the physical device. Currently only implemented for Microsoft Windows and Linux. <a href="#abacefaf60ae391226c4775cf8a61276a">More...</a><br /></td></tr>
+<tr class="memdesc:abacefaf60ae391226c4775cf8a61276a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to flush all modified data to the physical device, and then drop the OS filesystem cache, thus making all future reads come from the physical device. Currently only implemented for Microsoft Windows and Linux. <a href="namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a">More...</a><br /></td></tr>
<tr class="separator:abacefaf60ae391226c4775cf8a61276a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aae80908cc5521ef67234152c5c5044"><td class="memItemLeft" align="right" valign="top"><a id="a7aae80908cc5521ef67234152c5c5044"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044">running_under_wsl</a> () noexcept</td></tr>
<tr class="memdesc:a7aae80908cc5521ef67234152c5c5044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this POSIX is running under Microsoft's Subsystem for Linux. <br /></td></tr>
<tr class="separator:a7aae80908cc5521ef67234152c5c5044"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">process_memory_usage</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">current_process_memory_usage</a> () noexcept</td></tr>
+<tr class="memdesc:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the current memory usage statistics for this process. <a href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">More...</a><br /></td></tr>
+<tr class="separator:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae880ebd5681dcf6b700d67fb10b4547e"><td class="memTemplParams" colspan="2"><a id="ae880ebd5681dcf6b700d67fb10b4547e"></a>
template&lt;class T , class U &gt; </td></tr>
<tr class="memitem:ae880ebd5681dcf6b700d67fb10b4547e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a>&lt; T &gt; &amp;, const <a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a>&lt; U &gt; &amp;) noexcept</td></tr>
@@ -150,8 +150,8 @@ template&lt;class T , class U &gt; </td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Utility routines often useful when using LLFIO. </p>
</div><h2 class="groupheader">Function Documentation</h2>
-<a id="abacefaf60ae391226c4775cf8a61276a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abacefaf60ae391226c4775cf8a61276a">&#9670;&nbsp;</a></span>drop_filesystem_cache()</h2>
+<a id="a5a2d8f932686b4c35a67a6aa972b4e92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a2d8f932686b4c35a67a6aa972b4e92">&#9670;&nbsp;</a></span>current_process_memory_usage()</h2>
<div class="memitem">
<div class="memproto">
@@ -160,7 +160,7 @@ template&lt;class T , class U &gt; </td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">result&lt;void&gt; llfio_v2_xxx::utils::drop_filesystem_cache </td>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">process_memory_usage</a>&gt; llfio_v2_xxx::utils::current_process_memory_usage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -173,13 +173,13 @@ template&lt;class T , class U &gt; </td></tr>
</table>
</div><div class="memdoc">
-<p>Tries to flush all modified data to the physical device, and then drop the OS filesystem cache, thus making all future reads come from the physical device. Currently only implemented for Microsoft Windows and Linux. </p>
-<p>Note that the OS specific magic called by this routine generally requires elevated privileges for the calling process. For obvious reasons, calling this will have a severe negative impact on performance, but it's very useful for benchmarking cold cache vs warm cache performance. </p>
+<p>Retrieve the current memory usage statistics for this process. </p>
+<dl class="section note"><dt>Note</dt><dd>Mac OS provides no way of reading how much memory a process has committed. We therefore supply as <code>private_committed</code> the same value as <code>private_paged_in</code>. </dd></dl>
</div>
</div>
-<a id="a90d8f94ddb6e026f931e86d0dc904778"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90d8f94ddb6e026f931e86d0dc904778">&#9670;&nbsp;</a></span>file_buffer_default_size()</h2>
+<a id="abacefaf60ae391226c4775cf8a61276a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abacefaf60ae391226c4775cf8a61276a">&#9670;&nbsp;</a></span>drop_filesystem_cache()</h2>
<div class="memitem">
<div class="memproto">
@@ -188,7 +188,7 @@ template&lt;class T , class U &gt; </td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">size_t llfio_v2_xxx::utils::file_buffer_default_size </td>
+ <td class="memname">result&lt;void&gt; llfio_v2_xxx::utils::drop_filesystem_cache </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -196,21 +196,18 @@ template&lt;class T , class U &gt; </td></tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Returns a reasonable default size for page_allocator, typically the closest page size from page_sizes() to 1Mb. </p>
-<dl class="section return"><dt>Returns</dt><dd>A value of a TLB large page size close to 1Mb.</dd></dl>
-<dl class="section user"><dt>Complexity</dt><dd>Whatever the system API takes (one would hope constant time). </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Throws any error from the operating system or std::bad_alloc. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> size;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span>(size == 0u)</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">const</span> std::vector&lt;size_t&gt; &amp;sizes = <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">page_sizes</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : sizes)</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span>(i &gt;= 1024 * 1024)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; size = i;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span>(size == 0u)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; size = 1024 * 1024;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> size;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a6c41e314d4d4b8362b96a3b4c1c363f5"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils::page_sizes</a></div><div class="ttdeci">const std::vector&lt; size_t &gt; &amp; page_sizes(bool only_actually_available=true)</div><div class="ttdoc">Returns the page sizes of this architecture which is useful for calculating direct i/o multiples...</div></div>
-</div><!-- fragment -->
+<p>Tries to flush all modified data to the physical device, and then drop the OS filesystem cache, thus making all future reads come from the physical device. Currently only implemented for Microsoft Windows and Linux. </p>
+<p>Note that the OS specific magic called by this routine generally requires elevated privileges for the calling process. For obvious reasons, calling this will have a severe negative impact on performance, but it's very useful for benchmarking cold cache vs warm cache performance. </p>
+
</div>
</div>
-<a id="a42fc69cae3dbbf66498545cbe358e2ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a42fc69cae3dbbf66498545cbe358e2ba">&#9670;&nbsp;</a></span>page_size()</h2>
+<a id="a83420c7c9af03ca93d5ed029c34d5dd6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83420c7c9af03ca93d5ed029c34d5dd6">&#9670;&nbsp;</a></span>file_buffer_default_size()</h2>
<div class="memitem">
<div class="memproto">
@@ -219,7 +216,7 @@ template&lt;class T , class U &gt; </td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">size_t llfio_v2_xxx::utils::page_size </td>
+ <td class="memname">LLFIO_TEMPLATE (class T) LLFIO_TREQUIRES(LLFIO_TEXPR(std size_t llfio_v2_xxx::utils::file_buffer_default_size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@@ -227,19 +224,54 @@ template&lt;class T , class U &gt; </td></tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Returns the smallest page size of this architecture which is useful for calculating direct i/o multiples. </p>
-<dl class="section return"><dt>Returns</dt><dd>The page size of this architecture.</dd></dl>
-<dl class="section user"><dt>Complexity</dt><dd>Whatever the system API takes (one would hope constant time). </dd></dl>
-
+<p>Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded down, the size_t upwards. </p>
+<p>Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded upwards, the size_t downwards.</p>
+<p>Round a pair of values to their nearest page size multiples. The first will be rounded down, the second upwards.</p>
+<p>Round a pair of values to their nearest page size multiples. The first will be rounded upwards, the second downwards.</p>
+<p>Returns the page sizes of this architecture which is useful for calculating direct i/o multiples.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">only_actually_available</td><td>Only return page sizes actually available to the user running this process </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The page sizes of this architecture.</dd></dl>
+<dl class="section user"><dt>Complexity\nFirst call performs multiple memory allocations, mutex locks and system calls. Subsequent calls</dt><dd>lock mutexes. </dd></dl>
+<dl class="section user"><dt>Errors returnable\nThrows any error from the operating system or std::bad_alloc.</dt><dd></dd></dl>
+<p>Returns a reasonable default size for page_allocator, typically the closest page size from page_sizes() to 1Mb.</p>
+<dl class="section return"><dt>Returns</dt><dd>A value of a TLB large page size close to 1Mb.</dd></dl>
+<dl class="section user"><dt>Complexity\nWhatever the system API takes (one would hope constant time).</dt><dd></dd></dl>
+<dl class="section user"><dt>Errors returnable\nThrows any error from the operating system or std::bad_alloc.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">static</span> <span class="keywordtype">size_t</span> size;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">if</span>(size == 0u)</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> std::vector&lt;size_t&gt; &amp;sizes = page_sizes(<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : sizes)</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span>(i &gt;= 1024 * 1024)</div>
+<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; size = i;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span>(size == 0u)</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; size = 1024 * 1024;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> size;</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a6c41e314d4d4b8362b96a3b4c1c363f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6c41e314d4d4b8362b96a3b4c1c363f5">&#9670;&nbsp;</a></span>page_sizes()</h2>
+<a id="a42fc69cae3dbbf66498545cbe358e2ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a42fc69cae3dbbf66498545cbe358e2ba">&#9670;&nbsp;</a></span>page_size()</h2>
<div class="memitem">
<div class="memproto">
@@ -248,30 +280,22 @@ template&lt;class T , class U &gt; </td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">const std::vector&lt;size_t&gt;&amp; llfio_v2_xxx::utils::page_sizes </td>
+ <td class="memname">size_t llfio_v2_xxx::utils::page_size </td>
<td>(</td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>only_actually_available</em> = <code>true</code></td><td>)</td>
+ <td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Returns the page sizes of this architecture which is useful for calculating direct i/o multiples. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">only_actually_available</td><td>Only return page sizes actually available to the user running this process </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The page sizes of this architecture.</dd></dl>
-<dl class="section user"><dt>Complexity</dt><dd>First call performs multiple memory allocations, mutex locks and system calls. Subsequent calls lock mutexes. </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Throws any error from the operating system or std::bad_alloc. </dd></dl>
+<p>Returns the smallest page size of this architecture which is useful for calculating direct i/o multiples. </p>
+<dl class="section return"><dt>Returns</dt><dd>The page size of this architecture.</dd></dl>
+<dl class="section user"><dt>Complexity\nWhatever the system API takes (one would hope constant time).</dt><dd></dd></dl>
</div>
</div>
@@ -317,8 +341,8 @@ template&lt;class T , class U &gt; </td></tr>
</table>
</dd>
</dl>
-<dl class="section user"><dt>Complexity</dt><dd>Whatever the system API takes. </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any error from the operating system. </dd></dl>
+<dl class="section user"><dt>Complexity\nWhatever the system API takes.</dt><dd></dd></dl>
+<dl class="section user"><dt>Errors returnable\nAny error from the operating system.</dt><dd></dd></dl>
</div>
</div>
@@ -354,21 +378,28 @@ template&lt;class T , class U &gt; </td></tr>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string representing the randomness at a 2x ratio, so if 32 bytes were requested, this string would be 64 bytes long.</dd></dl>
-<dl class="section user"><dt>Complexity</dt><dd>Whatever the system API takes. </dd></dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any error from the operating system. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">size_t</span> outlen = randomlen * 2;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; std::string ret(outlen, 0);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">random_fill</a>(const_cast&lt;char *&gt;(ret.data()), randomlen);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; QUICKCPPLIB_NAMESPACE::algorithm::string::to_hex_string(const_cast&lt;char *&gt;(ret.data()), outlen, ret.data(), randomlen);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_ae61e2de30b06776a1c24643a1d1dc64e"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a></div><div class="ttdeci">void random_fill(char *buffer, size_t bytes) noexcept</div><div class="ttdoc">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API...</div></div>
+<dl class="section user"><dt>Complexity\nWhatever the system API takes.</dt><dd></dd></dl>
+<dl class="section user"><dt>Errors returnable\nAny error from the operating system.</dt><dd></dd></dl>
+<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">size_t</span> outlen = randomlen * 2;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; std::string ret(outlen, 0);</div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">random_fill</a>(<span class="keyword">const_cast&lt;</span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(ret.data()), randomlen);</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; QUICKCPPLIB_NAMESPACE::algorithm::string::to_hex_string(<span class="keyword">const_cast&lt;</span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(ret.data()), outlen, ret.data(), randomlen);</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1utils_html_ae61e2de30b06776a1c24643a1d1dc64e"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a></div><div class="ttdeci">void random_fill(char *buffer, size_t bytes) noexcept</div><div class="ttdoc">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacellfio__v2__xxx_1_1utils.js b/namespacellfio__v2__xxx_1_1utils.js
index eccf237b..3d176bf3 100644
--- a/namespacellfio__v2__xxx_1_1utils.js
+++ b/namespacellfio__v2__xxx_1_1utils.js
@@ -1,5 +1,6 @@
var namespacellfio__v2__xxx_1_1utils =
[
[ "page_allocator", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html", "classllfio__v2__xxx_1_1utils_1_1page__allocator" ],
- [ "page_allocator< void >", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4" ]
+ [ "page_allocator< void >", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4" ],
+ [ "process_memory_usage", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage" ]
]; \ No newline at end of file
diff --git a/namespacemembers.html b/namespacemembers.html
index 533d58a3..e7f507c9 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacemembers.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,24 +88,6 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>all_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">llfio_v2_xxx::path_discovery</a>
</li>
-<li>async_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx</a>
-</li>
-<li>async_random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx</a>
-</li>
-<li>async_read()
-: <a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">llfio_v2_xxx</a>
-</li>
-<li>async_temp_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx</a>
-</li>
-<li>async_temp_inode()
-: <a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx</a>
-</li>
-<li>async_write()
-: <a class="el" href="namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591">llfio_v2_xxx</a>
-</li>
</ul>
@@ -111,18 +95,21 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>cache_parent()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">llfio_v2_xxx::algorithm</a>
</li>
-<li>close()
-: <a class="el" href="namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0">llfio_v2_xxx</a>
+<li>clone_or_copy()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">llfio_v2_xxx::algorithm</a>
</li>
-<li>co_read()
-: <a class="el" href="namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb">llfio_v2_xxx</a>
+<li>close()
+: <a class="el" href="namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110">llfio_v2_xxx</a>
</li>
-<li>co_write()
-: <a class="el" href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">llfio_v2_xxx</a>
+<li>contents()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">llfio_v2_xxx::algorithm</a>
</li>
<li>create_kvstore()
: <a class="el" href="namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817">kvstore_v1_xxx</a>
</li>
+<li>current_process_memory_usage()
+: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">llfio_v2_xxx::utils</a>
+</li>
</ul>
@@ -136,6 +123,9 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>drop_filesystem_cache()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a">llfio_v2_xxx::utils</a>
</li>
+<li>dynamic_thread_pool_group_ptr
+: <a class="el" href="namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3">llfio_v2_xxx</a>
+</li>
</ul>
@@ -144,7 +134,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
: <a class="el" href="namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447">kvstore_v1_xxx</a>
</li>
<li>extents()
-: <a class="el" href="namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef">llfio_v2_xxx</a>
</li>
</ul>
@@ -154,7 +144,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
: <a class="el" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx</a>
</li>
<li>file_buffer_default_size()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778">llfio_v2_xxx::utils</a>
+: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">llfio_v2_xxx::utils</a>
</li>
<li>flush_modified_data()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8">llfio_v2_xxx::utils</a>
@@ -173,6 +163,24 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>in_place_attach()
: <a class="el" href="namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5">llfio_v2_xxx</a>
</li>
+<li>io_multiplexer_ptr
+: <a class="el" href="namespacellfio__v2__xxx.html#aeb9722b94a1f745b62717cb02e843f50">llfio_v2_xxx</a>
+</li>
+<li>io_operation_state_type
+: <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">llfio_v2_xxx</a>
+</li>
+<li>is_completed()
+: <a class="el" href="namespacellfio__v2__xxx.html#a7d6ac826fcd88e00c7ac63556cef6c70">llfio_v2_xxx</a>
+</li>
+<li>is_finished()
+: <a class="el" href="namespacellfio__v2__xxx.html#a7f32245d09ba18756513c19b053fd057">llfio_v2_xxx</a>
+</li>
+<li>is_initialised()
+: <a class="el" href="namespacellfio__v2__xxx.html#a6ec2a3fb2ff559325b89eb7003503d51">llfio_v2_xxx</a>
+</li>
+<li>is_initiated()
+: <a class="el" href="namespacellfio__v2__xxx.html#a23a7dfe3b18d247bb4202a638bea1f26">llfio_v2_xxx</a>
+</li>
</ul>
@@ -187,8 +195,17 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>length()
: <a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx</a>
</li>
+<li>LLFIO_TEMPLATE()
+: <a class="el" href="namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b">llfio_v2_xxx</a>
+</li>
+<li>lock_kind
+: <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">llfio_v2_xxx</a>
+</li>
<li>log()
-: <a class="el" href="namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#af54eb9dc436578bd4f28ba955293986d">llfio_v2_xxx</a>
+</li>
+<li>log_implementation_type
+: <a class="el" href="namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a">llfio_v2_xxx</a>
</li>
<li>log_level
: <a class="el" href="namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783">llfio_v2_xxx</a>
@@ -197,6 +214,9 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<h3><a id="index_m"></a>- m -</h3><ul>
+<li>make_dynamic_thread_pool_group()
+: <a class="el" href="namespacellfio__v2__xxx.html#a53c9bba00e56a8e7c7c03e5b1f479ae5">llfio_v2_xxx</a>
+</li>
<li>map()
: <a class="el" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">llfio_v2_xxx</a>
</li>
@@ -206,21 +226,24 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>mapped_file()
: <a class="el" href="namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730">llfio_v2_xxx</a>
</li>
-<li>mapped_random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx</a>
-</li>
<li>mapped_temp_file()
: <a class="el" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx</a>
</li>
<li>mapped_temp_inode()
: <a class="el" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx</a>
</li>
+<li>mapped_uniquely_named_file()
+: <a class="el" href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">llfio_v2_xxx</a>
+</li>
<li>maximum_extent()
: <a class="el" href="namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02">llfio_v2_xxx</a>
</li>
<li>memory_backed_temporary_files_directory()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">llfio_v2_xxx::path_discovery</a>
</li>
+<li>multiplexer()
+: <a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">llfio_v2_xxx::this_thread</a>
+</li>
</ul>
@@ -244,6 +267,12 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>operator-()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a">llfio_v2_xxx::algorithm::impl</a>
</li>
+<li>operator/()
+: <a class="el" href="namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032">llfio_v2_xxx</a>
+</li>
+<li>operator/=()
+: <a class="el" href="namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c">llfio_v2_xxx</a>
+</li>
<li>operator&lt;()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113">llfio_v2_xxx::algorithm</a>
</li>
@@ -266,11 +295,8 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils</a>
</li>
-<li>page_sizes()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils</a>
-</li>
<li>path()
-: <a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx</a>
</li>
<li>posix_error()
: <a class="el" href="namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66">llfio_v2_xxx</a>
@@ -279,12 +305,6 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<h3><a id="index_r"></a>- r -</h3><ul>
-<li>random_directory()
-: <a class="el" href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">llfio_v2_xxx</a>
-</li>
-<li>random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx</a>
-</li>
<li>random_fill()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils</a>
</li>
@@ -294,15 +314,15 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>read()
: <a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx</a>
</li>
+<li>reduce()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">llfio_v2_xxx::algorithm</a>
+</li>
<li>relink()
: <a class="el" href="namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49">llfio_v2_xxx</a>
</li>
<li>round_down_to_page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils</a>
</li>
-<li>round_to_page_size()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685">llfio_v2_xxx::utils</a>
-</li>
<li>round_up_to_page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af">llfio_v2_xxx::utils</a>
</li>
@@ -316,12 +336,18 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>section()
: <a class="el" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">llfio_v2_xxx</a>
</li>
+<li>set_multiplexer()
+: <a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#a5221e1507e45bcb729961c59cce7fbae">llfio_v2_xxx::this_thread</a>
+</li>
<li>storage_backed_temporary_files_directory()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery</a>
</li>
<li>storage_types
: <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">llfio_v2_xxx::storage_profile</a>
</li>
+<li>summarize()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">llfio_v2_xxx::algorithm</a>
+</li>
<li>swap()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c">llfio_v2_xxx::algorithm</a>
, <a class="el" href="namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519">llfio_v2_xxx</a>
@@ -339,6 +365,15 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>temp_inode()
: <a class="el" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx</a>
</li>
+<li>temporary_named_pipes_directory()
+: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">llfio_v2_xxx::path_discovery</a>
+</li>
+<li>to_win32_path()
+: <a class="el" href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">llfio_v2_xxx</a>
+</li>
+<li>traverse()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">llfio_v2_xxx::algorithm</a>
+</li>
<li>truncate()
: <a class="el" href="namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81">llfio_v2_xxx</a>
</li>
@@ -352,6 +387,12 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>uint64
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb">llfio_v2_xxx::algorithm::shared_fs_mutex</a>
</li>
+<li>uniquely_named_directory()
+: <a class="el" href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">llfio_v2_xxx</a>
+</li>
+<li>uniquely_named_file()
+: <a class="el" href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">llfio_v2_xxx</a>
+</li>
<li>unlink()
: <a class="el" href="namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362">llfio_v2_xxx</a>
</li>
@@ -362,12 +403,18 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>verified_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583">llfio_v2_xxx::path_discovery</a>
</li>
+<li>visit()
+: <a class="el" href="namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1">llfio_v2_xxx</a>
+</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
+<li>win32_path_namespace
+: <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">llfio_v2_xxx</a>
+</li>
<li>write()
-: <a class="el" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">llfio_v2_xxx</a>
</li>
</ul>
@@ -391,7 +438,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacemembers_enum.html b/namespacemembers_enum.html
index 6d1cdbf0..cfb04edb 100644
--- a/namespacemembers_enum.html
+++ b/namespacemembers_enum.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacemembers_enum.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers_enum.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,12 +83,21 @@ $(document).ready(function(){initNavTree('namespacemembers_enum.html','');});
<div class="contents">
&#160;<ul>
+<li>io_operation_state_type
+: <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">llfio_v2_xxx</a>
+</li>
<li>kvstore_errc
: <a class="el" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5f">kvstore_v1_xxx</a>
</li>
+<li>lock_kind
+: <a class="el" href="namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33">llfio_v2_xxx</a>
+</li>
<li>storage_types
: <a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">llfio_v2_xxx::storage_profile</a>
</li>
+<li>win32_path_namespace
+: <a class="el" href="namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a">llfio_v2_xxx</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
@@ -95,7 +106,7 @@ $(document).ready(function(){initNavTree('namespacemembers_enum.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacemembers_func.html b/namespacemembers_func.html
index 4d4a4835..9ca62718 100644
--- a/namespacemembers_func.html
+++ b/namespacemembers_func.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacemembers_func.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers_func.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,24 +88,6 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>all_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">llfio_v2_xxx::path_discovery</a>
</li>
-<li>async_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx</a>
-</li>
-<li>async_random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx</a>
-</li>
-<li>async_read()
-: <a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">llfio_v2_xxx</a>
-</li>
-<li>async_temp_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx</a>
-</li>
-<li>async_temp_inode()
-: <a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx</a>
-</li>
-<li>async_write()
-: <a class="el" href="namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591">llfio_v2_xxx</a>
-</li>
</ul>
@@ -111,18 +95,21 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>cache_parent()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">llfio_v2_xxx::algorithm</a>
</li>
-<li>close()
-: <a class="el" href="namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0">llfio_v2_xxx</a>
+<li>clone_or_copy()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004">llfio_v2_xxx::algorithm</a>
</li>
-<li>co_read()
-: <a class="el" href="namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb">llfio_v2_xxx</a>
+<li>close()
+: <a class="el" href="namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110">llfio_v2_xxx</a>
</li>
-<li>co_write()
-: <a class="el" href="namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6">llfio_v2_xxx</a>
+<li>contents()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">llfio_v2_xxx::algorithm</a>
</li>
<li>create_kvstore()
: <a class="el" href="namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817">kvstore_v1_xxx</a>
</li>
+<li>current_process_memory_usage()
+: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">llfio_v2_xxx::utils</a>
+</li>
</ul>
@@ -144,7 +131,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
: <a class="el" href="namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447">kvstore_v1_xxx</a>
</li>
<li>extents()
-: <a class="el" href="namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef">llfio_v2_xxx</a>
</li>
</ul>
@@ -154,7 +141,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
: <a class="el" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx</a>
</li>
<li>file_buffer_default_size()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778">llfio_v2_xxx::utils</a>
+: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">llfio_v2_xxx::utils</a>
</li>
<li>flush_modified_data()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8">llfio_v2_xxx::utils</a>
@@ -173,6 +160,18 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>in_place_attach()
: <a class="el" href="namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5">llfio_v2_xxx</a>
</li>
+<li>is_completed()
+: <a class="el" href="namespacellfio__v2__xxx.html#a7d6ac826fcd88e00c7ac63556cef6c70">llfio_v2_xxx</a>
+</li>
+<li>is_finished()
+: <a class="el" href="namespacellfio__v2__xxx.html#a7f32245d09ba18756513c19b053fd057">llfio_v2_xxx</a>
+</li>
+<li>is_initialised()
+: <a class="el" href="namespacellfio__v2__xxx.html#a6ec2a3fb2ff559325b89eb7003503d51">llfio_v2_xxx</a>
+</li>
+<li>is_initiated()
+: <a class="el" href="namespacellfio__v2__xxx.html#a23a7dfe3b18d247bb4202a638bea1f26">llfio_v2_xxx</a>
+</li>
</ul>
@@ -180,13 +179,19 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>length()
: <a class="el" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx</a>
</li>
+<li>LLFIO_TEMPLATE()
+: <a class="el" href="namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b">llfio_v2_xxx</a>
+</li>
<li>log()
-: <a class="el" href="namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#af54eb9dc436578bd4f28ba955293986d">llfio_v2_xxx</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
+<li>make_dynamic_thread_pool_group()
+: <a class="el" href="namespacellfio__v2__xxx.html#a53c9bba00e56a8e7c7c03e5b1f479ae5">llfio_v2_xxx</a>
+</li>
<li>map()
: <a class="el" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">llfio_v2_xxx</a>
</li>
@@ -196,21 +201,24 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>mapped_file()
: <a class="el" href="namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730">llfio_v2_xxx</a>
</li>
-<li>mapped_random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx</a>
-</li>
<li>mapped_temp_file()
: <a class="el" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx</a>
</li>
<li>mapped_temp_inode()
: <a class="el" href="namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b">llfio_v2_xxx</a>
</li>
+<li>mapped_uniquely_named_file()
+: <a class="el" href="namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38">llfio_v2_xxx</a>
+</li>
<li>maximum_extent()
: <a class="el" href="namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02">llfio_v2_xxx</a>
</li>
<li>memory_backed_temporary_files_directory()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">llfio_v2_xxx::path_discovery</a>
</li>
+<li>multiplexer()
+: <a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">llfio_v2_xxx::this_thread</a>
+</li>
</ul>
@@ -234,6 +242,12 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>operator-()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a">llfio_v2_xxx::algorithm::impl</a>
</li>
+<li>operator/()
+: <a class="el" href="namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032">llfio_v2_xxx</a>
+</li>
+<li>operator/=()
+: <a class="el" href="namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c">llfio_v2_xxx</a>
+</li>
<li>operator&lt;()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113">llfio_v2_xxx::algorithm</a>
</li>
@@ -256,11 +270,8 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils</a>
</li>
-<li>page_sizes()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils</a>
-</li>
<li>path()
-: <a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx</a>
</li>
<li>posix_error()
: <a class="el" href="namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66">llfio_v2_xxx</a>
@@ -269,12 +280,6 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<h3><a id="index_r"></a>- r -</h3><ul>
-<li>random_directory()
-: <a class="el" href="namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92">llfio_v2_xxx</a>
-</li>
-<li>random_file()
-: <a class="el" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx</a>
-</li>
<li>random_fill()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils</a>
</li>
@@ -282,7 +287,10 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417">llfio_v2_xxx::utils</a>
</li>
<li>read()
-: <a class="el" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672">llfio_v2_xxx</a>
+</li>
+<li>reduce()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">llfio_v2_xxx::algorithm</a>
</li>
<li>relink()
: <a class="el" href="namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49">llfio_v2_xxx</a>
@@ -290,9 +298,6 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>round_down_to_page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils</a>
</li>
-<li>round_to_page_size()
-: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685">llfio_v2_xxx::utils</a>
-</li>
<li>round_up_to_page_size()
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af">llfio_v2_xxx::utils</a>
</li>
@@ -306,12 +311,18 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>section()
: <a class="el" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">llfio_v2_xxx</a>
</li>
+<li>set_multiplexer()
+: <a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html#a5221e1507e45bcb729961c59cce7fbae">llfio_v2_xxx::this_thread</a>
+</li>
<li>storage_backed_temporary_files_directory()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">llfio_v2_xxx::path_discovery</a>
</li>
+<li>summarize()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">llfio_v2_xxx::algorithm</a>
+</li>
<li>swap()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c">llfio_v2_xxx::algorithm</a>
-, <a class="el" href="namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb">llfio_v2_xxx</a>
+, <a class="el" href="namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf">llfio_v2_xxx</a>
</li>
</ul>
@@ -326,13 +337,28 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>temp_inode()
: <a class="el" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx</a>
</li>
+<li>temporary_named_pipes_directory()
+: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">llfio_v2_xxx::path_discovery</a>
+</li>
+<li>to_win32_path()
+: <a class="el" href="namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d">llfio_v2_xxx</a>
+</li>
+<li>traverse()
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">llfio_v2_xxx::algorithm</a>
+</li>
<li>truncate()
-: <a class="el" href="namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51">llfio_v2_xxx</a>
</li>
</ul>
<h3><a id="index_u"></a>- u -</h3><ul>
+<li>uniquely_named_directory()
+: <a class="el" href="namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0">llfio_v2_xxx</a>
+</li>
+<li>uniquely_named_file()
+: <a class="el" href="namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21">llfio_v2_xxx</a>
+</li>
<li>unlink()
: <a class="el" href="namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362">llfio_v2_xxx</a>
</li>
@@ -343,6 +369,9 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>verified_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583">llfio_v2_xxx::path_discovery</a>
</li>
+<li>visit()
+: <a class="el" href="namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1">llfio_v2_xxx</a>
+</li>
</ul>
@@ -365,7 +394,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespacemembers_type.html b/namespacemembers_type.html
index f691ef08..1f5e3e9e 100644
--- a/namespacemembers_type.html
+++ b/namespacemembers_type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespacemembers_type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespacemembers_type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,6 +83,15 @@ $(document).ready(function(){initNavTree('namespacemembers_type.html','');});
<div class="contents">
&#160;<ul>
+<li>dynamic_thread_pool_group_ptr
+: <a class="el" href="namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3">llfio_v2_xxx</a>
+</li>
+<li>io_multiplexer_ptr
+: <a class="el" href="namespacellfio__v2__xxx.html#aeb9722b94a1f745b62717cb02e843f50">llfio_v2_xxx</a>
+</li>
+<li>log_implementation_type
+: <a class="el" href="namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a">llfio_v2_xxx</a>
+</li>
<li>log_level
: <a class="el" href="namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783">llfio_v2_xxx</a>
</li>
@@ -101,7 +112,7 @@ $(document).ready(function(){initNavTree('namespacemembers_type.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespaces.html b/namespaces.html
index fb93513f..6e390a51 100644
--- a/namespaces.html
+++ b/namespaces.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Namespace List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('namespaces.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('namespaces.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -94,7 +96,8 @@ $(document).ready(function(){initNavTree('namespaces.html','');});
<tr id="row_1_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html" target="_self">shared_fs_mutex</a></td><td class="desc">Algorithms for protecting a shared filing system resource from racy modification </td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html" target="_self">path_discovery</a></td><td class="desc">Contains functions used to discover suitable paths for things </td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html" target="_self">storage_profile</a></td><td class="desc">YAML databaseable empirical testing of a storage's behaviour </td></tr>
-<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1utils.html" target="_self">utils</a></td><td class="desc">Utility routines often useful when using LLFIO </td></tr>
+<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1this__thread.html" target="_self">this_thread</a></td><td class="desc">Thread local settings </td></tr>
+<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacellfio__v2__xxx_1_1utils.html" target="_self">utils</a></td><td class="desc">Utility routines often useful when using LLFIO </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
@@ -104,7 +107,7 @@ $(document).ready(function(){initNavTree('namespaces.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/namespaces.js b/namespaces_dup.js
index c0d3449b..5de91c4b 100644
--- a/namespaces.js
+++ b/namespaces_dup.js
@@ -1,4 +1,4 @@
-var namespaces =
+var namespaces_dup =
[
[ "kvstore_v1_xxx", "namespacekvstore__v1__xxx.html", "namespacekvstore__v1__xxx" ],
[ "llfio_v2_xxx", "namespacellfio__v2__xxx.html", "namespacellfio__v2__xxx" ]
diff --git a/native__handle__type_8hpp.html b/native__handle__type_8hpp.html
index cdf3190a..f0038833 100644
--- a/native__handle__type_8hpp.html
+++ b/native__handle__type_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/native_handle_type.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('native__handle__type_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('native__handle__type_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('native__handle__type_8hpp.html','');})
<div class="title">native_handle_type.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides native_handle_type.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -105,7 +104,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides native_handle_type. </p>
+<div class="textblock"><p>Provides native_handle_type </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -114,7 +113,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="native__handle__type_8hpp.html">native_handle_type.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/navtree.css b/navtree.css
index 0cc7e776..33341a67 100644
--- a/navtree.css
+++ b/navtree.css
@@ -96,7 +96,7 @@
.ui-resizable-e {
background-image:url("splitbar.png");
background-size:100%;
- background-repeat:no-repeat;
+ background-repeat:repeat-y;
background-attachment: scroll;
cursor:ew-resize;
height:100%;
diff --git a/navtree.js b/navtree.js
index e6d31b00..edc31efc 100644
--- a/navtree.js
+++ b/navtree.js
@@ -1,3 +1,25 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2019 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this file
+ */
var navTreeSubIndices = new Array();
var arrowDown = '&#9660;';
var arrowRight = '&#9658;';
@@ -47,7 +69,6 @@ function localStorageSupported()
}
}
-
function storeLink(link)
{
if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
@@ -79,15 +100,7 @@ function getScript(scriptName,func,show)
script.type = 'text/javascript';
script.onload = func;
script.src = scriptName+'.js';
- if ($.browser.msie && $.browser.version<=8) {
- // script.onload does not work with older versions of IE
- script.onreadystatechange = function() {
- if (script.readyState=='complete' || script.readyState=='loaded') {
- func(); if (show) showRoot();
- }
- }
- }
- head.appendChild(script);
+ head.appendChild(script);
}
function createIndent(o,domNode,node,level)
@@ -130,6 +143,7 @@ function gotoAnchor(anchor,aname,updateLocation)
var pos, docContent = $('#doc-content');
var ancParent = $(anchor.parent());
if (ancParent.hasClass('memItemLeft') ||
+ ancParent.hasClass('memtitle') ||
ancParent.hasClass('fieldname') ||
ancParent.hasClass('fieldtype') ||
ancParent.is(':header'))
@@ -242,7 +256,7 @@ function showRoot()
(function (){ // retry until we can scroll to the selected item
try {
var navtree=$('#nav-tree');
- navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
+ navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
} catch (err) {
setTimeout(arguments.callee, 0);
}
@@ -261,12 +275,8 @@ function expandNode(o, node, imm, showRoot)
} else {
if (!node.childrenVisited) {
getNode(o, node);
- } if (imm || ($.browser.msie && $.browser.version>8)) {
- // somehow slideDown jumps to the start of tree for IE9 :-(
- $(node.getChildrenUL()).show();
- } else {
- $(node.getChildrenUL()).slideDown("fast");
}
+ $(node.getChildrenUL()).slideDown("fast");
node.plus_img.innerHTML = arrowDown;
node.expanded = true;
}
@@ -296,7 +306,6 @@ function highlightAnchor()
} else {
glowEffect(anchor.next(),1000); // normal member
}
- gotoAnchor(anchor,aname,false);
}
function selectAndHighlight(hash,n)
@@ -458,6 +467,18 @@ function toggleSyncButton(relpath)
}
}
+var loadTriggered = false;
+var readyTriggered = false;
+var loadObject,loadToRoot,loadUrl,loadRelPath;
+
+$(window).on('load',function(){
+ if (readyTriggered) { // ready first
+ navTo(loadObject,loadToRoot,loadUrl,loadRelPath);
+ showRoot();
+ }
+ loadTriggered=true;
+});
+
function initNavTree(toroot,relpath)
{
var o = new Object();
@@ -488,10 +509,16 @@ function initNavTree(toroot,relpath)
navSync.click(function(){ toggleSyncButton(relpath); });
}
- $(window).load(function(){
+ if (loadTriggered) { // load before ready
navTo(o,toroot,hashUrl(),relpath);
showRoot();
- });
+ } else { // ready before load
+ loadObject = o;
+ loadToRoot = toroot;
+ loadUrl = hashUrl();
+ loadRelPath = relpath;
+ readyTriggered=true;
+ }
$(window).bind('hashchange', function(){
if (window.location.hash && window.location.hash.length>1){
@@ -514,4 +541,4 @@ function initNavTree(toroot,relpath)
}
})
}
-
+/* @license-end */
diff --git a/navtreedata.js b/navtreedata.js
index 8e496ab2..70bd2458 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -1,11 +1,44 @@
+/*
+@licstart The following is the entire license notice for the
+JavaScript code in this file.
+
+Copyright (C) 1997-2019 by Dimitri van Heesch
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of version 2 of the GNU General Public License as published by
+the Free Software Foundation
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+@licend The above is the entire license notice
+for the JavaScript code in this file
+*/
var NAVTREE =
[
[ "LLFIO", "index.html", [
- [ "Build instructions", "md__build.html", null ],
+ [ "Build instructions", "md__build.html", [
+ [ "v2 architecture and design implemented:", "index.html#autotoc_md18", null ],
+ [ "Planned features implemented:", "index.html#autotoc_md19", null ],
+ [ "Install from the vcpkg package manager", "md__build.html#autotoc_md21", null ],
+ [ "Prebuilt binaries", "md__build.html#autotoc_md22", null ],
+ [ "Get a copy of the source", "md__build.html#autotoc_md23", [
+ [ "If you already cloned before reading this", "md__build.html#autotoc_md24", null ]
+ ] ],
+ [ "Build static libraries from source", "md__build.html#autotoc_md25", null ],
+ [ "Build shared libraries from source", "md__build.html#autotoc_md26", null ],
+ [ "Installing libraries from source", "md__build.html#autotoc_md27", null ]
+ ] ],
[ "Todo List", "todo.html", null ],
[ "Modules", "modules.html", "modules" ],
- [ "Namespaces", null, [
- [ "Namespace List", "namespaces.html", "namespaces" ],
+ [ "Namespaces", "namespaces.html", [
+ [ "Namespace List", "namespaces.html", "namespaces_dup" ],
[ "Namespace Members", "namespacemembers.html", [
[ "All", "namespacemembers.html", null ],
[ "Functions", "namespacemembers_func.html", null ],
@@ -22,11 +55,13 @@ var NAVTREE =
[ "Functions", "functions_func.html", "functions_func" ],
[ "Variables", "functions_vars.html", null ],
[ "Typedefs", "functions_type.html", null ],
- [ "Enumerations", "functions_enum.html", null ]
+ [ "Enumerations", "functions_enum.html", null ],
+ [ "Enumerator", "functions_eval.html", null ],
+ [ "Related Functions", "functions_rela.html", null ]
] ]
] ],
- [ "Files", null, [
- [ "File List", "files.html", "files" ],
+ [ "Files", "files.html", [
+ [ "File List", "files.html", "files_dup" ],
[ "File Members", "globals.html", [
[ "All", "globals.html", null ],
[ "Macros", "globals_defs.html", null ]
@@ -38,16 +73,20 @@ var NAVTREE =
var NAVTREEINDEX =
[
".html",
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5a7f463e9235bb95ddd84b69e2642613",
-"classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552",
-"classllfio__v2__xxx_1_1file__handle.html#aa2c2b2847fd039b9c255633e6031817a",
-"classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff",
-"classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca",
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a2bbf41f2f2520318fdaee21e8851cefc",
-"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html",
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471",
-"structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c",
-"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160"
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a051822a4942c7f45b0491ab4385aacd3",
+"classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2",
+"classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42",
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d",
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa1847e17496a22bc107f509c3cdfecdd",
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852",
+"classllfio__v2__xxx_1_1path__view.html#abc5abda4e162d9a530fb73fa47a2f20a",
+"classllfio__v2__xxx_1_1process__handle.html#a9cceb31bebf51f6b2fe78b236aa9bdb3",
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#acaa7851337ee7c96e8e77e7eb8e539ee",
+"map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b",
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0",
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61",
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aee18da8642e904dca9fa1fdd329ca8da",
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd8951bd4ad42ee68229e6c9e43bafa1"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index 0a2d265e..ccaccef9 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -3,19 +3,6 @@ var NAVTREEINDEX0 =
".html":[4,0,0],
".html":[4,0,0,0],
"annotated.html":[4,0],
-"async__file__handle_8hpp.html":[5,0,0,1,0,1],
-"async__file__handle_8hpp.html#a07564a34b6f382b68c6d6045c8b4b6c7":[5,0,0,1,0,1,12],
-"async__file__handle_8hpp.html#a136e03c52e467a86c5dc76205d19f447":[5,0,0,1,0,1,14],
-"async__file__handle_8hpp.html#a1bf4f597e8b391870215cbe005c252e6":[5,0,0,1,0,1,13],
-"async__file__handle_8hpp.html#a39254f0f1608754370d4a9d38be0f355":[5,0,0,1,0,1,7],
-"async__file__handle_8hpp.html#a4985d46d431e0e734ad0b8bab00ad591":[5,0,0,1,0,1,10],
-"async__file__handle_8hpp.html#a827e936162aff684070500f10c169e70":[5,0,0,1,0,1,15],
-"async__file__handle_8hpp.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74":[5,0,0,1,0,1,8],
-"async__file__handle_8hpp.html#ab8bf2fda0abbb11fdeb77d25f8288149":[5,0,0,1,0,1,5],
-"async__file__handle_8hpp.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd":[5,0,0,1,0,1,6],
-"async__file__handle_8hpp.html#ae108ac818c3955c032b3b9020da770eb":[5,0,0,1,0,1,11],
-"async__file__handle_8hpp.html#ae6eb58f0e5fc200dd2719c7280edba5e":[5,0,0,1,0,1,9],
-"async__file__handle_8hpp.html#afa9eca0bb55f3d76f2a50a43b1969b60":[5,0,0,1,0,1,4],
"atomic__append_8hpp.html":[5,0,0,1,0,0,1,0],
"base_8hpp.html":[5,0,0,1,0,0,1,1],
"base_8hpp.html#a39bcbe1b56c1cf547c192f4f0fa488cb":[5,0,0,1,0,0,1,1,4],
@@ -46,7 +33,7 @@ var NAVTREEINDEX0 =
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255":[4,0,1,1,33],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c":[4,0,1,1,11],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52":[4,0,1,1,43],
-"classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef":[4,0,1,1,23],
+"classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef":[4,0,1,1,24],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386":[4,0,1,1,38],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7":[4,0,1,1,5],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e":[4,0,1,1,21],
@@ -55,16 +42,16 @@ var NAVTREEINDEX0 =
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a6a175e369072be8ae3e7d98f23bf278a":[4,0,1,1,51],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46":[4,0,1,1,39],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84":[4,0,1,1,47],
-"classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065":[4,0,1,1,24],
+"classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065":[4,0,1,1,23],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a77a90d11f98460cc0ff2765e5a479d4e":[4,0,1,1,8],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a931e000ddff763502b3ab7ece24f084a":[4,0,1,1,22],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296":[4,0,1,1,17],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#aa6438527cd168b81fa0e6f61d0f17cfe":[4,0,1,1,15],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#aa695dcea4b55d95bb9063a02f6b72986":[4,0,1,1,20],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557":[4,0,1,1,34],
-"classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9":[4,0,1,1,41],
+"classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9":[4,0,1,1,40],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a":[4,0,1,1,6],
-"classkvstore__v1__xxx_1_1basic__key__value__store.html#abd8e06444f609136f52f63c3bff1f5bc":[4,0,1,1,40],
+"classkvstore__v1__xxx_1_1basic__key__value__store.html#abd8e06444f609136f52f63c3bff1f5bc":[4,0,1,1,41],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a":[4,0,1,1,28],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece":[4,0,1,1,46],
"classkvstore__v1__xxx_1_1basic__key__value__store.html#ad22582ec2ab7d95e721237b0be5cfda9":[4,0,1,1,30],
@@ -103,7 +90,7 @@ var NAVTREEINDEX0 =
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a53e3ad688b1a61e0769df8f57c0da255":[4,0,1,1,0,31],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a574141e5360bc634bd7528378fe56a3c":[4,0,1,1,0,10],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a5add0f7b7711da9b0574d1ffde7b9f52":[4,0,1,1,0,39],
-"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a5d1b9afb5721b17ee1b24c53e0d7bbef":[4,0,1,1,0,19],
+"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a5d1b9afb5721b17ee1b24c53e0d7bbef":[4,0,1,1,0,20],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a61339059262f3f826c75d2d8c7ddc386":[4,0,1,1,0,36],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7":[4,0,1,1,0,4],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a6380b90bf98c1403827a6e7320367d98":[4,0,1,1,0,41],
@@ -111,7 +98,7 @@ var NAVTREEINDEX0 =
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a6a175e369072be8ae3e7d98f23bf278a":[4,0,1,1,0,47],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a6f45998a528be5d9ee623327e2817a46":[4,0,1,1,0,37],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a7264d661f3c050a78f0cb1e1655b6d84":[4,0,1,1,0,43],
-"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a763d805ef9ca3c5862632d69d285e065":[4,0,1,1,0,20],
+"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a763d805ef9ca3c5862632d69d285e065":[4,0,1,1,0,19],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a77a90d11f98460cc0ff2765e5a479d4e":[4,0,1,1,0,7],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8":[4,0,1,1,0,25],
"classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a9b73e1e034a4eaea7c0b83e870772296":[4,0,1,1,0,16],
@@ -151,9 +138,9 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#aae3f54ac060e53685a316ecfcfee7edb":[4,0,2,0,2,17],
"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#aee32a4eb83e127d90d1178a23d0570ac":[4,0,2,0,2,13],
"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#aee63eea85c4ac163b97b96b742269e3f":[4,0,2,0,2,16],
-"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af4a59a1fad579f55abed7b85c1511950":[4,0,2,0,2,11],
+"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af4a59a1fad579f55abed7b85c1511950":[4,0,2,0,2,10],
"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b":[4,0,2,0,2,0],
-"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af5e0564bed2ae3d4c61923724a0b787c":[4,0,2,0,2,10],
+"classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af5e0564bed2ae3d4c61923724a0b787c":[4,0,2,0,2,11],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html":[4,0,2,0,3],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a062212d815f834770edb424487bec4c4":[4,0,2,0,3,8],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a06f517c08339014bfbf70f6da07be847":[4,0,2,0,3,11],
@@ -169,10 +156,10 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9bf783aed0ee8ee06b2005d1615beb3e":[4,0,2,0,3,2],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9cda6dec04c4a26cb7c0b7be967f5ba7":[4,0,2,0,3,1],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c":[4,0,2,0,3,19],
+"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc":[4,0,2,0,3,16],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1":[4,0,2,0,3,15],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ab0b7b07cb1282c369b1b663d21c1df3c":[4,0,2,0,3,14],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#acb6eafba06e83383c985019dce2b1d61":[4,0,2,0,3,6],
-"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712":[4,0,2,0,3,16],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad9c333e01114cddbed807c7bda522860":[4,0,2,0,3,13],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077":[4,0,2,0,3,17],
"classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae6a5bf508fcf2bfefb1cd179d7c4b48f":[4,0,2,0,3,4],
@@ -220,8 +207,8 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c":[4,0,2,0,1,0,17],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c":[4,0,2,0,1,0,2],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab33ccb32052633a55cb3bb5d1bbdf52b":[4,0,2,0,1,0,8],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16":[4,0,2,0,1,0,13],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6":[4,0,2,0,1,0,12],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16":[4,0,2,0,1,0,12],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6":[4,0,2,0,1,0,13],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#adc6284803080e42505ba812d4711bb74":[4,0,2,0,1,0,10],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#afb28aedaf5caa53e851165a4f1927207":[4,0,2,0,1,0,7],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html":[4,0,2,0,1,1],
@@ -236,12 +223,12 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a":[4,0,2,0,1,1,4],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469":[4,0,2,0,1,1,9],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ab33ccb32052633a55cb3bb5d1bbdf52b":[4,0,2,0,1,1,8],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331":[4,0,2,0,1,1,12],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331":[4,0,2,0,1,1,13],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#adc6284803080e42505ba812d4711bb74":[4,0,2,0,1,1,10],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3":[4,0,2,0,1,1,2],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae93a3105a8dad7e76c9985a468b435c7":[4,0,2,0,1,1,0],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e":[4,0,2,0,1,1,17],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4":[4,0,2,0,1,1,13],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4":[4,0,2,0,1,1,12],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#afb28aedaf5caa53e851165a4f1927207":[4,0,2,0,1,1,7],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html":[4,0,2,0,1,2],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a051822a4942c7f45b0491ab4385aacd3":[4,0,2,0,1,2,15],
@@ -249,5 +236,18 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5":[4,0,2,0,1,2,0],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b":[4,0,2,0,1,2,12],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681":[4,0,2,0,1,2,1],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a4cdf15b69bf6f375ec7083d639f76358":[4,0,2,0,1,2,6]
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a4cdf15b69bf6f375ec7083d639f76358":[4,0,2,0,1,2,6],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5a7f463e9235bb95ddd84b69e2642613":[4,0,2,0,1,2,16],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5de42e3023b15ea85b13bfdce1753dd2":[4,0,2,0,1,2,5],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a86b399c01b8169ebdd1a8f37c57159da":[4,0,2,0,1,2,3],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b":[4,0,2,0,1,2,14],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74":[4,0,2,0,1,2,17],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ab33ccb32052633a55cb3bb5d1bbdf52b":[4,0,2,0,1,2,8],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485":[4,0,2,0,1,2,4],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#adc6284803080e42505ba812d4711bb74":[4,0,2,0,1,2,9],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395":[4,0,2,0,1,2,13],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186":[4,0,2,0,1,2,11],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994":[4,0,2,0,1,2,2],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#afb28aedaf5caa53e851165a4f1927207":[4,0,2,0,1,2,7],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html":[4,0,2,0,1,3]
};
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 72802d0d..bb732f44 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -1,18 +1,5 @@
var NAVTREEINDEX1 =
{
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5a7f463e9235bb95ddd84b69e2642613":[4,0,2,0,1,2,16],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5de42e3023b15ea85b13bfdce1753dd2":[4,0,2,0,1,2,5],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a86b399c01b8169ebdd1a8f37c57159da":[4,0,2,0,1,2,3],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b":[4,0,2,0,1,2,14],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74":[4,0,2,0,1,2,17],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ab33ccb32052633a55cb3bb5d1bbdf52b":[4,0,2,0,1,2,8],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485":[4,0,2,0,1,2,4],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#adc6284803080e42505ba812d4711bb74":[4,0,2,0,1,2,9],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395":[4,0,2,0,1,2,13],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186":[4,0,2,0,1,2,11],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994":[4,0,2,0,1,2,2],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#afb28aedaf5caa53e851165a4f1927207":[4,0,2,0,1,2,7],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html":[4,0,2,0,1,3],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a051822a4942c7f45b0491ab4385aacd3":[4,0,2,0,1,3,18],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a05966ced636721856e75ed8956297113":[4,0,2,0,1,3,8],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a33dcc1d37df90ac5dd85a754f9ffce04":[4,0,2,0,1,3,14],
@@ -85,169 +72,182 @@ var NAVTREEINDEX1 =
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06":[4,0,2,0,1,5,0,11],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ad9ba91a7e14894da10fdce60f1425b16":[4,0,2,0,1,5,0,4],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08":[4,0,2,0,1,5,0,10],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html":[4,0,2,0,4],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,4,15],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,4,44],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,4,21],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,4,0],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,4,45],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,4,30],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,4,6],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,4,53],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,4,1],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,4,56],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,4,39],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,4,4],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,4,27],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,4,33],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,4,22],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,4,3],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,4,29],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,4,58],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,4,37],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,4,25],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,4,10],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,4,5],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,4,2],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,4,28],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,4,40],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,4,8],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,4,46],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,4,24],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,4,51],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,4,16],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,4,32],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,4,57],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,4,19],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,4,17],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,4,48],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,4,54],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,4,52],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,4,43],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,4,35],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,4,38],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,4,9],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,4,34],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,4,26],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,4,13],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,4,31],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,4,23],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ab33af3e39910f56747f00f70dc0c8b4e":[4,0,2,0,4,11],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,4,18],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,4,7],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,4,20],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,4,42],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,4,47],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,4,55],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,4,14],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,4,49],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,4,12],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,4,41],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,4,36],
-"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,4,50],
-"classllfio__v2__xxx_1_1async__file__handle.html":[4,0,2,4],
-"classllfio__v2__xxx_1_1async__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,4,45],
-"classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe":[4,0,2,4,27],
-"classllfio__v2__xxx_1_1async__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,4,47],
-"classllfio__v2__xxx_1_1async__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,4,50],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0295a939f9d2f37ffb5949c48527dec6":[4,0,2,4,92],
-"classllfio__v2__xxx_1_1async__file__handle.html#a06fef3b3f063e9f25e95f38ddc248468":[4,0,2,4,2],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,4,30],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0a8be71c14785d8ae8cd31b5be17ae10":[4,0,2,4,17],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9":[4,0,2,4,89],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45":[4,0,2,4,42],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0eab5d0be35ec57639fb4fe6cbf17ffa":[4,0,2,4,8],
-"classllfio__v2__xxx_1_1async__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,4,79],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,4,18],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,4,46],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,4,75],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,4,100],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,4,88],
-"classllfio__v2__xxx_1_1async__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,4,59],
-"classllfio__v2__xxx_1_1async__file__handle.html#a2919da8c2520240c4e65f18f68872fd0":[4,0,2,4,86],
-"classllfio__v2__xxx_1_1async__file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,4,85],
-"classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba":[4,0,2,4,37],
-"classllfio__v2__xxx_1_1async__file__handle.html#a3407a44d52c4ad075cdf5283c96bf75e":[4,0,2,4,38],
-"classllfio__v2__xxx_1_1async__file__handle.html#a346a7685544490691f50ebb27786c651":[4,0,2,4,35],
-"classllfio__v2__xxx_1_1async__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,4,55],
-"classllfio__v2__xxx_1_1async__file__handle.html#a3674e63b664f6e3926991dc00c1312d2":[4,0,2,4,22],
-"classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411":[4,0,2,4,43],
-"classllfio__v2__xxx_1_1async__file__handle.html#a3b91b3d3e8a8f371fe7e9196b2fe5ef6":[4,0,2,4,6],
-"classllfio__v2__xxx_1_1async__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2":[4,0,2,4,62],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4055bb02680af02dcc189f0461bad503":[4,0,2,4,63],
-"classllfio__v2__xxx_1_1async__file__handle.html#a47103e7f1aa1e1c17680d3c1bd108eee":[4,0,2,4,7],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,4,84],
-"classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928":[4,0,2,4,67],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,4,49],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,4,96],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13":[4,0,2,4,23],
-"classllfio__v2__xxx_1_1async__file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,4,93],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5a9910116cc5751398e6b55f06a9a793":[4,0,2,4,61],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,4,58],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,4,73],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6319914bb21cb96a000d6d547515b156":[4,0,2,4,74],
-"classllfio__v2__xxx_1_1async__file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,4,40],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6713883b493de4051863fbaae54bbec3":[4,0,2,4,11],
-"classllfio__v2__xxx_1_1async__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,4,56],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6c30e529c467a261444b5841134fa394":[4,0,2,4,12],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,4,72],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,4,29],
-"classllfio__v2__xxx_1_1async__file__handle.html#a72483b3aad192189df36b94e6853875b":[4,0,2,4,10],
-"classllfio__v2__xxx_1_1async__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,4,77],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,4,54],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,4,19],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,4,19,0],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,4,19,3],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,4,19,2],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,4,19,1],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,4,65],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7a92a9d8516c6fcaec4a42b4da019851":[4,0,2,4,1],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3":[4,0,2,4,83],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da":[4,0,2,4,24],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,4,31],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,4,51],
-"classllfio__v2__xxx_1_1async__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,4,36],
-"classllfio__v2__xxx_1_1async__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,4,90],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,4,98],
-"classllfio__v2__xxx_1_1async__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,4,69],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,4,76],
-"classllfio__v2__xxx_1_1async__file__handle.html#a889495794181a86528c6c736f441bee1":[4,0,2,4,9],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0":[4,0,2,4,21],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67":[4,0,2,4,13],
-"classllfio__v2__xxx_1_1async__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,4,60],
-"classllfio__v2__xxx_1_1async__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,4,66],
-"classllfio__v2__xxx_1_1async__file__handle.html#a947560985897895880a7cf0a05f0435f":[4,0,2,4,15],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9631849ff4acd52ef8366d97d719beb9":[4,0,2,4,5],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,4,87],
-"classllfio__v2__xxx_1_1async__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,4,53],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9ae40085180ad48887b207701f3679f9":[4,0,2,4,14],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f":[4,0,2,4,44],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63":[4,0,2,4,20],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e":[4,0,2,4,20,1],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7":[4,0,2,4,20,2],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a":[4,0,2,4,20,0],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,4,99],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,4,71],
-"classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30":[4,0,2,4,32],
-"classllfio__v2__xxx_1_1async__file__handle.html#aad616e910b3a23fefca19145598ecb40":[4,0,2,4,4],
-"classllfio__v2__xxx_1_1async__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,4,81],
-"classllfio__v2__xxx_1_1async__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,4,91],
-"classllfio__v2__xxx_1_1async__file__handle.html#aba22575b95c858883002c0cdddee4964":[4,0,2,4,3],
-"classllfio__v2__xxx_1_1async__file__handle.html#ac1a82f9f61d49d8f6836c823950483ac":[4,0,2,4,16],
-"classllfio__v2__xxx_1_1async__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,4,80],
-"classllfio__v2__xxx_1_1async__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,4,48],
-"classllfio__v2__xxx_1_1async__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,4,70],
-"classllfio__v2__xxx_1_1async__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,4,82],
-"classllfio__v2__xxx_1_1async__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,4,97],
-"classllfio__v2__xxx_1_1async__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,4,28],
-"classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664":[4,0,2,4,41],
-"classllfio__v2__xxx_1_1async__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,4,52],
-"classllfio__v2__xxx_1_1async__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,4,64],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495":[4,0,2,4,25],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,4,57],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,4,78],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae9f4f5f9cc386f5188a9977145edbe6c":[4,0,2,4,94],
-"classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d":[4,0,2,4,33],
-"classllfio__v2__xxx_1_1async__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,4,39],
-"classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25":[4,0,2,4,68]
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html":[4,0,2,0,11],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,11,15],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,11,44],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,11,21],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,11,0],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,11,45],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,11,30],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,11,6],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,11,53],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,11,1],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,11,56],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,11,42],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,11,4],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,11,28],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,11,32],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,11,22],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,11,3],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,11,29],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,11,58],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,11,37],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,11,25],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,11,10],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,11,5],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,11,2],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,11,27],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,11,40],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,11,8],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,11,46],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,11,24],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,11,52],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,11,16],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,11,33],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,11,57],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,11,20],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,11,17],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,11,48],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,11,55],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,11,51],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,11,43],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,11,34],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,11,38],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,11,9],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,11,35],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,11,26],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,11,12],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,11,31],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,11,23],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ab33af3e39910f56747f00f70dc0c8b4e":[4,0,2,0,11,11],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,11,18],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,11,7],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,11,19],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,11,41],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,11,47],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,11,54],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,11,14],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,11,50],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,11,13],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,11,39],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,11,36],
+"classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,11,49],
+"classllfio__v2__xxx_1_1awaitable__handle.html":[4,0,2,4],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,4,13],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,4,14],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,4,19],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,4,15],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,4,8],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,4,38],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,4,36],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,4,51],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a1eb1b47189610a12b6a46ae581e55dc7":[4,0,2,4,0],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a1eed67fb752ce4cdbea73fc6d774abbd":[4,0,2,4,46],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,4,30],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,4,2],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,4,25],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a3674d0e972ffcecee2862d136b89100b":[4,0,2,4,40],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a3dad14fd2ff7107d066b1ac365d2e7d1":[4,0,2,4,47],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,4,39],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,4,17],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f":[4,0,2,4,1],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,4,20],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a5c3e328220dc0ab9d68b09dab659b1fc":[4,0,2,4,48],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,4,29],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,4,12],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a67c9dc3a201fc43d85ab582759fbd116":[4,0,2,4,35],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,4,26],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,4,7],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,4,37],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,4,24],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a80320c6c50c4bd1430c92d7c290abd17":[4,0,2,4,44],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,4,9],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,4,31],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,4,32],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,4,23],
+"classllfio__v2__xxx_1_1awaitable__handle.html#a9dcfa5dabb40bf2175c5628537b9cc4e":[4,0,2,4,45],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,4,6],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,4,6,1],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,4,6,0],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,4,6,6],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,4,6,3],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,4,6,2],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,4,6,4],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,4,6,5],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa662339395dd63073132ad083ffe4577":[4,0,2,4,10],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,4,34],
+"classllfio__v2__xxx_1_1awaitable__handle.html#abb0e2865ca62ca0715e8e1dce502f878":[4,0,2,4,49],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,4,16],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,4,33],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,4,21],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,4,27],
+"classllfio__v2__xxx_1_1awaitable__handle.html#acf5a5c6ed113a49c7e0fd8c6831b48e2":[4,0,2,4,42],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,4,50],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,4,22],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,4,18],
+"classllfio__v2__xxx_1_1awaitable__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,4,28],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,4,4],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,4,4,3],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,4,4,1],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,4,4,0],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,4,4,6],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,4,4,5],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,4,4,2],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,4,4,7],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,4,4,4],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aed9587571c3fb932adadddc1beeeed58":[4,0,2,4,3],
+"classllfio__v2__xxx_1_1awaitable__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,4,11],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,4,5],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,4,5,2],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,4,5,0],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,4,5,3],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,4,5,1],
+"classllfio__v2__xxx_1_1awaitable__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,4,5,4],
+"classllfio__v2__xxx_1_1awaitable__handle.html#afa3b130f12705b6f0a36f5f5dcb5a068":[4,0,2,4,43],
+"classllfio__v2__xxx_1_1awaitable__handle.html#afb656a2f9720cf9d699b9afdaa3c1bf7":[4,0,2,4,41],
+"classllfio__v2__xxx_1_1directory__handle.html":[4,0,2,19],
+"classllfio__v2__xxx_1_1directory__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,19,31],
+"classllfio__v2__xxx_1_1directory__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,19,33],
+"classllfio__v2__xxx_1_1directory__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,19,38],
+"classllfio__v2__xxx_1_1directory__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,19,34],
+"classllfio__v2__xxx_1_1directory__handle.html#a03229b163152b540c3eb6edd41cf5d32":[4,0,2,19,32],
+"classllfio__v2__xxx_1_1directory__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,19,26],
+"classllfio__v2__xxx_1_1directory__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,19,63],
+"classllfio__v2__xxx_1_1directory__handle.html#a1674e6a6953fcda955bba33aac0b3e15":[4,0,2,19,8],
+"classllfio__v2__xxx_1_1directory__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,19,14],
+"classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,19,59],
+"classllfio__v2__xxx_1_1directory__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,19,89],
+"classllfio__v2__xxx_1_1directory__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,19,85],
+"classllfio__v2__xxx_1_1directory__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,19,72],
+"classllfio__v2__xxx_1_1directory__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,19,77],
+"classllfio__v2__xxx_1_1directory__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,19,82],
+"classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552":[4,0,2,19,20],
+"classllfio__v2__xxx_1_1directory__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,19,49],
+"classllfio__v2__xxx_1_1directory__handle.html#a25dd21d41625bdacd384ace8afcd4f95":[4,0,2,19,6],
+"classllfio__v2__xxx_1_1directory__handle.html#a2b0ede942b80570e00ece55ba0c98c44":[4,0,2,19,23],
+"classllfio__v2__xxx_1_1directory__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,19,44],
+"classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952":[4,0,2,19,2],
+"classllfio__v2__xxx_1_1directory__handle.html#a3ccae4bed19960a3059b5c3bfadceafd":[4,0,2,19,78],
+"classllfio__v2__xxx_1_1directory__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,19,73],
+"classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49":[4,0,2,19,54],
+"classllfio__v2__xxx_1_1directory__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,19,67],
+"classllfio__v2__xxx_1_1directory__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,19,36],
+"classllfio__v2__xxx_1_1directory__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,19,86],
+"classllfio__v2__xxx_1_1directory__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,19,39],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207":[4,0,2,19,16],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8":[4,0,2,19,16,1],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,19,16,0],
+"classllfio__v2__xxx_1_1directory__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,19,48],
+"classllfio__v2__xxx_1_1directory__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,19,70],
+"classllfio__v2__xxx_1_1directory__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,19,45],
+"classllfio__v2__xxx_1_1directory__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,19,25],
+"classllfio__v2__xxx_1_1directory__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,19,62],
+"classllfio__v2__xxx_1_1directory__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,19,43],
+"classllfio__v2__xxx_1_1directory__handle.html#a7d856dc3340c48dcc4558520b5081cdb":[4,0,2,19,9],
+"classllfio__v2__xxx_1_1directory__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,19,75],
+"classllfio__v2__xxx_1_1directory__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,19,81],
+"classllfio__v2__xxx_1_1directory__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,19,27],
+"classllfio__v2__xxx_1_1directory__handle.html#a82959a20c5c7f07c71d47cd5953b4516":[4,0,2,19,11],
+"classllfio__v2__xxx_1_1directory__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,19,88],
+"classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,19,55]
};
diff --git a/navtreeindex10.js b/navtreeindex10.js
index 85a9e432..dd0564a6 100644
--- a/navtreeindex10.js
+++ b/navtreeindex10.js
@@ -1,8 +1,253 @@
var NAVTREEINDEX10 =
{
-"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,2],
-"version_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,2,5],
-"version_8hpp.html#ac7aedfe0660c15373b69a68f760c5799":[5,0,0,1,2,0],
-"xor_8hpp.html":[5,0,0,1,0,0,0,2],
-"xor_8hpp.html#a27450e894b5dab6c18a01350670fa0dc":[5,0,0,1,0,0,0,2,0]
+"map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b":[5,0,0,1,0,11,23],
+"map__handle_8hpp.html#a70e68bcf05636966ffefe001b903487e":[5,0,0,1,0,11,7],
+"map__handle_8hpp.html#a8231f6ba00d0d5840b47981ecc148e51":[5,0,0,1,0,11,21],
+"map__handle_8hpp.html#a86f75b69db68e6c0593919f0a878f838":[5,0,0,1,0,11,12],
+"map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5":[5,0,0,1,0,11,6],
+"map__handle_8hpp.html#aa0394a25491c4c22cb2311f2b1503c73":[5,0,0,1,0,11,11],
+"map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9":[5,0,0,1,0,11,8],
+"map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537":[5,0,0,1,0,11,22],
+"map__handle_8hpp.html#aaf60dc6739dc2bd7d890630b1a50d15a":[5,0,0,1,0,11,13],
+"map__handle_8hpp.html#ab50d07405d17a8fff4e360fd2612bc6f":[5,0,0,1,0,11,9],
+"map__handle_8hpp.html#ab993693c98cdb52e2d611f8f9e24e4e2":[5,0,0,1,0,11,15],
+"map__handle_8hpp.html#ab9dbbe2fe79758ef87fe2dd1f61d824c":[5,0,0,1,0,11,10],
+"map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44":[5,0,0,1,0,11,20],
+"map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb":[5,0,0,1,0,11,17],
+"map__handle_8hpp.html#acaa74d6fc6b9aef877233654f514041d":[5,0,0,1,0,11,14],
+"mapped_8hpp.html":[5,0,0,1,0,12],
+"mapped__file__handle_8hpp.html":[5,0,0,1,0,13],
+"mapped__file__handle_8hpp.html#a092f75c4e639c85797120488d486fa38":[5,0,0,1,0,13,8],
+"mapped__file__handle_8hpp.html#a1f0ccde00add2f09579151fd71b8f06d":[5,0,0,1,0,13,4],
+"mapped__file__handle_8hpp.html#a3eb3e8ef0ddff1270b3d78d4178335c7":[5,0,0,1,0,13,6],
+"mapped__file__handle_8hpp.html#a58d5390cad390de24a80748c8cd7dc5b":[5,0,0,1,0,13,7],
+"mapped__file__handle_8hpp.html#a933649fdb097431a1b84360b9a5ed5c4":[5,0,0,1,0,13,3],
+"mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730":[5,0,0,1,0,13,5],
+"mapped__file__handle_8hpp.html#acda211a674e09531226be56691136f7c":[5,0,0,1,0,13,9],
+"md__build.html":[0],
+"md__build.html#autotoc_md21":[0,2],
+"md__build.html#autotoc_md22":[0,3],
+"md__build.html#autotoc_md23":[0,4],
+"md__build.html#autotoc_md24":[0,4,0],
+"md__build.html#autotoc_md25":[0,5],
+"md__build.html#autotoc_md26":[0,6],
+"md__build.html#autotoc_md27":[0,7],
+"memory__map_8hpp.html":[5,0,0,1,0,0,1,4],
+"modules.html":[2],
+"namespacekvstore__v1__xxx.html":[3,0,0],
+"namespacekvstore__v1__xxx.html":[4,0,1],
+"namespacekvstore__v1__xxx_1_1traits.html":[3,0,0,0],
+"namespacekvstore__v1__xxx_1_1traits.html":[4,0,1,0],
+"namespacellfio__v2__xxx.html":[4,0,2],
+"namespacellfio__v2__xxx.html":[3,0,1],
+"namespacellfio__v2__xxx_1_1algorithm.html":[3,0,1,0],
+"namespacellfio__v2__xxx_1_1algorithm.html":[4,0,2,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[3,0,1,0,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[4,0,2,0,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[4,0,2,0,1],
+"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[3,0,1,0,1],
+"namespacellfio__v2__xxx_1_1path__discovery.html":[4,0,2,1],
+"namespacellfio__v2__xxx_1_1path__discovery.html":[3,0,1,1],
+"namespacellfio__v2__xxx_1_1storage__profile.html":[3,0,1,2],
+"namespacellfio__v2__xxx_1_1storage__profile.html":[4,0,2,2],
+"namespacellfio__v2__xxx_1_1this__thread.html":[3,0,1,3],
+"namespacellfio__v2__xxx_1_1utils.html":[4,0,2,3],
+"namespacellfio__v2__xxx_1_1utils.html":[3,0,1,4],
+"namespacemembers.html":[3,1,0],
+"namespacemembers_enum.html":[3,1,3],
+"namespacemembers_func.html":[3,1,1],
+"namespacemembers_type.html":[3,1,2],
+"namespaces.html":[3,0],
+"native__handle__type_8hpp.html":[5,0,0,1,0,14],
+"pages.html":[],
+"path__discovery_8hpp.html":[5,0,0,1,0,15],
+"path__discovery_8hpp.html#a2d3e2ea602c3195433c7898c41744188":[5,0,0,1,0,15,5],
+"path__discovery_8hpp.html#a2dd74ea752f3f511d58ccccdcac7f4fd":[5,0,0,1,0,15,4],
+"path__discovery_8hpp.html#a876db6e58143e730afd0706226f39d6c":[5,0,0,1,0,15,3],
+"path__discovery_8hpp.html#ab3c4aaa0c413e4989461ab6551058583":[5,0,0,1,0,15,6],
+"path__discovery_8hpp.html#ada0466e529e851d2d58ce87e0e28f4f2":[5,0,0,1,0,15,1],
+"path__discovery_8hpp.html#ade18f14d3ef37488e8967c87faa04d29":[5,0,0,1,0,15,2],
+"path__handle_8hpp.html":[5,0,0,1,0,16],
+"path__handle_8hpp.html#a49f7bb77eb38fbe1280019225b66b78b":[5,0,0,1,0,16,2],
+"path__handle_8hpp.html#ad8b12afdd4c80d69d2530bd40f92427c":[5,0,0,1,0,16,3],
+"path__view_8hpp.html":[5,0,0,1,0,17],
+"path__view_8hpp.html#a02c02d05e24d34c25324c192df11c0b4":[5,0,0,1,0,17,11],
+"path__view_8hpp.html#a0846b040cbf733b34787c76a39e35b85":[5,0,0,1,0,17,14],
+"path__view_8hpp.html#a1081a69ba488868ed42e8c7ce5bb1e17":[5,0,0,1,0,17,7],
+"path__view_8hpp.html#a1374384491dae4c33de1ddd218336f98":[5,0,0,1,0,17,32],
+"path__view_8hpp.html#a177b07f74b322e7843ec46f13ffcf032":[5,0,0,1,0,17,15],
+"path__view_8hpp.html#a1d381d16b152632f617c82182fcf22a1":[5,0,0,1,0,17,31],
+"path__view_8hpp.html#a24c9ba461630fe02b8c818df8b4f0402":[5,0,0,1,0,17,6],
+"path__view_8hpp.html#a253dd24caea0c8a34a5260f3acf0b8ca":[5,0,0,1,0,17,12],
+"path__view_8hpp.html#a3e68b8ef674b43bc67a04576a5d9a99e":[5,0,0,1,0,17,9],
+"path__view_8hpp.html#a56f82dddf1ccbd54e467ef1e35adcb54":[5,0,0,1,0,17,16],
+"path__view_8hpp.html#a6024cdc07fef0c772c14ec1f91defa75":[5,0,0,1,0,17,20],
+"path__view_8hpp.html#a76bb62584e742b0b8397a63c333f7d59":[5,0,0,1,0,17,30],
+"path__view_8hpp.html#a78e8ca5dbdce64395344f278844f1f7c":[5,0,0,1,0,17,26],
+"path__view_8hpp.html#aa08446a93ea987bfbb45fd45f5fcd612":[5,0,0,1,0,17,29],
+"path__view_8hpp.html#aa126c294bd24c6170729c81a2d746cf7":[5,0,0,1,0,17,22],
+"path__view_8hpp.html#aa43d4352669c668ec5882e7d953b3ea6":[5,0,0,1,0,17,28],
+"path__view_8hpp.html#aa689b48f1fe2893f13e689a346a5dd5c":[5,0,0,1,0,17,17],
+"path__view_8hpp.html#aa7461933c74794f79178f952c42083ed":[5,0,0,1,0,17,8],
+"path__view_8hpp.html#aa93a5ee3bddc44cc342826ff9892a170":[5,0,0,1,0,17,19],
+"path__view_8hpp.html#aaf8e44c460932265c6c97b949eeaac92":[5,0,0,1,0,17,27],
+"path__view_8hpp.html#ad116a2c98d1b1326ca6bb64d3868dbbd":[5,0,0,1,0,17,3],
+"path__view_8hpp.html#ad34f076b77f1de6ae1660108254f2183":[5,0,0,1,0,17,13],
+"path__view_8hpp.html#ada4abf0a0e41c43e53dad057607cebbc":[5,0,0,1,0,17,18],
+"path__view_8hpp.html#adb4db47e035ae1ee5043008492e8986b":[5,0,0,1,0,17,10],
+"path__view_8hpp.html#ae52923980b09f106b87cde636b286c61":[5,0,0,1,0,17,2],
+"path__view_8hpp.html#ae7cb1db78991ce362d7262bcf0e26921":[5,0,0,1,0,17,21],
+"path__view_8hpp.html#ae7f0c5568c83abca21bee9cd838f9542":[5,0,0,1,0,17,23],
+"path__view_8hpp.html#ae8e18c4998e0aa92b606b3b88eec04a5":[5,0,0,1,0,17,4],
+"path__view_8hpp.html#aeca839dcad90518be469393ff94a298c":[5,0,0,1,0,17,24],
+"path__view_8hpp.html#af5a020ef47a862a0d6ee2a8cb5b83000":[5,0,0,1,0,17,5],
+"path__view_8hpp.html#afa588880bc76221e6ec9715b70013105":[5,0,0,1,0,17,25],
+"pipe__handle_8hpp.html":[5,0,0,1,0,18],
+"process__handle_8hpp.html":[5,0,0,1,0,19],
+"process__handle_8hpp.html#a94167268e0b7e7573e4599fd7872ef0f":[5,0,0,1,0,19,3],
+"reduce_8hpp.html":[5,0,0,1,0,0,4],
+"reduce_8hpp.html#a05594f7c8ae275fa65b2acd57cc9b8ac":[5,0,0,1,0,0,4,1],
+"safe__byte__ranges_8hpp.html":[5,0,0,1,0,0,1,5],
+"safe__byte__ranges_8hpp.html#a1a7e9cda94a1f38463e2e42af75c3e21":[5,0,0,1,0,0,1,5,1],
+"stat_8hpp.html":[5,0,0,1,0,20],
+"statfs_8hpp.html":[5,0,0,1,0,21],
+"statfs_8hpp.html#a6c7e4173df2abeba7daed38f11bffc09":[5,0,0,1,0,21,2],
+"storage__profile_8hpp.html":[5,0,0,1,0,22],
+"storage__profile_8hpp.html#a064c04652078a531d09bc211f000e170":[5,0,0,1,0,22,40],
+"storage__profile_8hpp.html#a0a16ab53f56c2a0de98643f6838d6765":[5,0,0,1,0,22,20],
+"storage__profile_8hpp.html#a1988d45c2205489a1bf78b1ef370611a":[5,0,0,1,0,22,27],
+"storage__profile_8hpp.html#a1ab8930f9a1f27aaab838eb81bb521e0":[5,0,0,1,0,22,37],
+"storage__profile_8hpp.html#a2764c70097b1977e3cb7a750779102ae":[5,0,0,1,0,22,30],
+"storage__profile_8hpp.html#a2be36be3a6e4a8e892f34666642d7ceb":[5,0,0,1,0,22,19],
+"storage__profile_8hpp.html#a2e4f5748492573bf1dcf63bf89421c32":[5,0,0,1,0,22,26],
+"storage__profile_8hpp.html#a3e1eeb85729bbc7ecb5d0861fac74916":[5,0,0,1,0,22,13],
+"storage__profile_8hpp.html#a42ddc873c6d7178340a72417d1cc42b3":[5,0,0,1,0,22,23],
+"storage__profile_8hpp.html#a51c017aed8f7fe2568fa29506ac03e43":[5,0,0,1,0,22,45],
+"storage__profile_8hpp.html#a5a4d0eb211dde145cc65f78c4105644b":[5,0,0,1,0,22,43],
+"storage__profile_8hpp.html#a600823f44a0965dd6b0b82866e888f1e":[5,0,0,1,0,22,29],
+"storage__profile_8hpp.html#a62ea39b41b0ae8ffd6e78db0ff9a819e":[5,0,0,1,0,22,39],
+"storage__profile_8hpp.html#a6ddb7c2bee277fc16207b7e8cb05693f":[5,0,0,1,0,22,4],
+"storage__profile_8hpp.html#a72a7277d9ca13177b87462f57f4f8b6b":[5,0,0,1,0,22,33],
+"storage__profile_8hpp.html#a789770254f4c4170e6bbb8dea9f7eec6":[5,0,0,1,0,22,9],
+"storage__profile_8hpp.html#a79927d0371baaf191dac6acb2fb58dbb":[5,0,0,1,0,22,22],
+"storage__profile_8hpp.html#a7a10e1dc2748e68d0bcdf322e57ee3e4":[5,0,0,1,0,22,38],
+"storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff":[5,0,0,1,0,22,11],
+"storage__profile_8hpp.html#a7c0b397aef05f3afc91fe07ed8c54adf":[5,0,0,1,0,22,6],
+"storage__profile_8hpp.html#a8a11ed274016c78adf2904209f279d23":[5,0,0,1,0,22,7],
+"storage__profile_8hpp.html#a974992f9521e12b67597474b92876876":[5,0,0,1,0,22,14],
+"storage__profile_8hpp.html#a99367667c5b4aaaf481f87229f82f8e3":[5,0,0,1,0,22,44],
+"storage__profile_8hpp.html#a9aeced989ea59c10af9066e5f8a35dea":[5,0,0,1,0,22,41],
+"storage__profile_8hpp.html#a9c35f07dd0bcac144d54ad4779533880":[5,0,0,1,0,22,18],
+"storage__profile_8hpp.html#a9feea238482248c461b240cf0272390f":[5,0,0,1,0,22,10],
+"storage__profile_8hpp.html#aa44df5a2a3190c4d94185a234c5147a6":[5,0,0,1,0,22,8],
+"storage__profile_8hpp.html#aa4dc6d25d12156f9348e981118024ae7":[5,0,0,1,0,22,34],
+"storage__profile_8hpp.html#aac385da4b780e8a6a87444fe3579578c":[5,0,0,1,0,22,12],
+"storage__profile_8hpp.html#aaf909a231bf5202f600dee5cf687b17f":[5,0,0,1,0,22,35],
+"storage__profile_8hpp.html#ab4617a30b12ef98c811914f6d78bfa72":[5,0,0,1,0,22,32],
+"storage__profile_8hpp.html#ab67a28c26fbb05ff1560c1ba6f2189ff":[5,0,0,1,0,22,42],
+"storage__profile_8hpp.html#ac47bfaf65d5d867857e4f6b57d13c571":[5,0,0,1,0,22,24],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238":[5,0,0,1,0,22,5],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a4bc411266f0603994dc9c47c239c47b5":[5,0,0,1,0,22,5,2],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a59b1fa3a479308121c258d4f85c97f85":[5,0,0,1,0,22,5,1],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a8896b85dc23ac16cda3724baaeaab9ea":[5,0,0,1,0,22,5,3],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aad921d60486366258809553a3db49a4a":[5,0,0,1,0,22,5,0],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238ab45cffe084dd3d20d928bee85e7b0f21":[5,0,0,1,0,22,5,5],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aefe6d5085c67bc38cd3746f2dc8013e1":[5,0,0,1,0,22,5,4],
+"storage__profile_8hpp.html#ac5b059cec97280bc5e60625d3a0acd5c":[5,0,0,1,0,22,46],
+"storage__profile_8hpp.html#ad0452376213dca667960263dbb2044c2":[5,0,0,1,0,22,15],
+"storage__profile_8hpp.html#ad7b076ee267ea568cea771ad6cb40c4e":[5,0,0,1,0,22,25],
+"storage__profile_8hpp.html#ae12aeddbd8623fc0118be8d653e2ab23":[5,0,0,1,0,22,21],
+"storage__profile_8hpp.html#ae200d0e684ae1e93a474a3a2bef43a7f":[5,0,0,1,0,22,36],
+"storage__profile_8hpp.html#ae3954ddd50835459ed0485b6117126a0":[5,0,0,1,0,22,28],
+"storage__profile_8hpp.html#ae7ed1ab57b777ccf201ac1bf33ccf747":[5,0,0,1,0,22,16],
+"storage__profile_8hpp.html#aeba16d86e9c035cdd006caa6be1ab66c":[5,0,0,1,0,22,31],
+"storage__profile_8hpp.html#af3395cd9610e7eb366134a0e723ab971":[5,0,0,1,0,22,17],
+"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html":[4,0,0,0,0],
+"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html":[4,0,0,0,1],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html":[4,0,1,2],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85":[4,0,1,2,3],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483":[4,0,1,2,4],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8":[4,0,1,2,1],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4":[4,0,1,2,12],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307":[4,0,1,2,2],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a":[4,0,1,2,13],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45":[4,0,1,2,15],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a":[4,0,1,2,5],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee":[4,0,1,2,10],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af":[4,0,1,2,6],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29":[4,0,1,2,7],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4":[4,0,1,2,8],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781":[4,0,1,2,11],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847":[4,0,1,2,9],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed":[4,0,1,2,14],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c":[4,0,1,2,0],
+"structkvstore__v1__xxx_1_1traits_1_1is__attachable.html":[4,0,1,0,0],
+"structkvstore__v1__xxx_1_1traits_1_1is__detachable.html":[4,0,1,0,1],
+"structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html":[4,0,1,0,2],
+"structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html":[4,0,1,0,3],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html":[4,0,2,0,4],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54":[4,0,2,0,4,4],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a4d3c4b226532089d121dc3d96ed88b39":[4,0,2,0,4,3],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d":[4,0,2,0,4,0],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#ac188f8691259ec970aeff79b47a5685b":[4,0,2,0,4,1],
+"structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae":[4,0,2,0,4,2],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html":[4,0,2,0,5],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d":[4,0,2,0,5,6],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54":[4,0,2,0,5,8],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a4d3c4b226532089d121dc3d96ed88b39":[4,0,2,0,5,7],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749":[4,0,2,0,5,5],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577":[4,0,2,0,5,12],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9":[4,0,2,0,5,9],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2":[4,0,2,0,5,4],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5":[4,0,2,0,5,13],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a":[4,0,2,0,5,10],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2":[4,0,2,0,5,11],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250":[4,0,2,0,5,3],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c":[4,0,2,0,5,2],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html":[4,0,2,0,5,0],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a0562f6c9c242e49bc830284a3f9b061d":[4,0,2,0,5,0,4],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a2bd4518bdd3043f037b6bfcdbd86ca36":[4,0,2,0,5,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a54dd820c8afffadc897999d64fa6f105":[4,0,2,0,5,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a8f8a8c2617ec3e2595b1f34aa154e179":[4,0,2,0,5,0,6],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a94b47e887330cec5da765e2d9c6f70c6":[4,0,2,0,5,0,5],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#aa00b47114ed20536055436a9723f56c6":[4,0,2,0,5,0,3],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#aa89c6f12cc8d894fc72b48e8bbc8a634":[4,0,2,0,5,0,2],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html":[4,0,2,0,5,1],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a2396209900e8f592db1f0b2467f7d899":[4,0,2,0,5,1,0],
+"structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca":[4,0,2,0,5,1,1],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html":[4,0,2,0,6],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a10941c642c94f2c22f4a307fdd110fd9":[4,0,2,0,6,2],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa":[4,0,2,0,6,1],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95":[4,0,2,0,6,0],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f":[4,0,2,0,6,0,8],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4":[4,0,2,0,6,0,11],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96":[4,0,2,0,6,0,3],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8":[4,0,2,0,6,0,6],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9":[4,0,2,0,6,0,4],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1":[4,0,2,0,6,0,2],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5":[4,0,2,0,6,0,9],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575":[4,0,2,0,6,0,10],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd":[4,0,2,0,6,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37":[4,0,2,0,6,0,5],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95adfe03cb8be0de8104977a91efde5fcdd":[4,0,2,0,6,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9":[4,0,2,0,6,0,7],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html":[4,0,2,0,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,0,21],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,0,52],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,0,27],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,0,53],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,0,36],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a":[4,0,2,0,0,0,8],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a":[4,0,2,0,0,0,9],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,0,61],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,0,63],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,0,48],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176":[4,0,2,0,0,0,7],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1":[4,0,2,0,0,0,2],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,0,34],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,0,38],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,0,28],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a":[4,0,2,0,0,0,13],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f":[4,0,2,0,0,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,0,35]
};
diff --git a/navtreeindex11.js b/navtreeindex11.js
new file mode 100644
index 00000000..9487ff2f
--- /dev/null
+++ b/navtreeindex11.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX11 =
+{
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,0,65],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,0,43],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,0,31],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62":[4,0,2,0,0,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48":[4,0,2,0,0,0,6],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729":[4,0,2,0,0,0,51],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4":[4,0,2,0,0,0,5],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a514fc4032a8866f1273b3fc52e779c8b":[4,0,2,0,0,0,17],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,0,33],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,0,46],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945":[4,0,2,0,0,0,10],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de":[4,0,2,0,0,0,12],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,0,54],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,0,30],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,0,60],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,0,22],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,0,39],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,0,64],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,0,26],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,0,23],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,0,56],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,0,62],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,0,59],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,0,49],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f":[4,0,2,0,0,0,14],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,0,40],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,0,44],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,0,41],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772":[4,0,2,0,0,0,16],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,0,32],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,0,18],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,0,37],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,0,29],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,0,24],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8":[4,0,2,0,0,0,4],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075":[4,0,2,0,0,0,11],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950":[4,0,2,0,0,0,15],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316":[4,0,2,0,0,0,50],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,0,25],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,0,47],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,0,55],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,0,20],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,0,58],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,0,19],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,0,45],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4":[4,0,2,0,0,0,3],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,0,42],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,0,57],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html":[4,0,2,0,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,1,16],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,1,45],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,1,22],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0846ca0495305ef9bbf8177c3f05998b":[4,0,2,0,0,1,11],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,0,1,0],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,1,46],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,1,31],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,0,1,6],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,1,54],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,0,1,1],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,1,57],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,1,43],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,0,1,4],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,1,29],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,1,33],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,1,23],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,0,1,3],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,1,30],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,1,59],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,1,38],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,1,26],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e":[4,0,2,0,0,1,12],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,0,1,10],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,0,1,5],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,0,1,2],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,1,28],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,1,41],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,0,1,8],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,1,47],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,1,25],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,1,53],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,1,17],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,1,34],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,1,58],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,1,21],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,1,18],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,1,49],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,1,56],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,1,52],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,1,44],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,1,35],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,1,39],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,0,1,9],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,1,36],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,1,27],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,1,13],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,1,32],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,1,24],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,1,19],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,0,1,7],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,1,20],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,1,42],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,1,48],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,0,1,55],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,1,15],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,1,51],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,1,14],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,1,40],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,1,37],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,1,50],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html":[4,0,2,0,7],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85":[4,0,2,0,7,6],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb":[4,0,2,0,7,1],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082":[4,0,2,0,7,4],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a2880b90fe5915ceafa87c9b6b934abd9":[4,0,2,0,7,10],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54":[4,0,2,0,7,8],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a4d3c4b226532089d121dc3d96ed88b39":[4,0,2,0,7,5],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698":[4,0,2,0,7,2],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab":[4,0,2,0,7,7],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ac188f8691259ec970aeff79b47a5685b":[4,0,2,0,7,3],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0":[4,0,2,0,7,0],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe":[4,0,2,0,7,9],
+"structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#adc136a120018610a6a2f1da1a0a0b1ff":[4,0,2,0,7,11],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html":[4,0,2,0,1,3,0],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#a3e4939b7eed7dee1ae7b938ed21f0bc2":[4,0,2,0,1,3,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#ae31e6520a32c4f07c753ceeeeffbc047":[4,0,2,0,1,3,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html":[4,0,2,0,1,5,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f":[4,0,2,0,1,5,1,2],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191":[4,0,2,0,1,5,1,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6":[4,0,2,0,1,5,1,5],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716":[4,0,2,0,1,5,1,4],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#add9eada07537877fd3c2d0059f6972e3":[4,0,2,0,1,5,1,3],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81":[4,0,2,0,1,5,1,0],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html":[4,0,2,0,8],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13":[4,0,2,0,8,0],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05":[4,0,2,0,8,2],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54":[4,0,2,0,8,4],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a4d3c4b226532089d121dc3d96ed88b39":[4,0,2,0,8,3],
+"structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#ac188f8691259ec970aeff79b47a5685b":[4,0,2,0,8,1],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html":[4,0,2,0,9],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28":[4,0,2,0,9,11],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69":[4,0,2,0,9,7],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b":[4,0,2,0,9,1],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7":[4,0,2,0,9,10],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17":[4,0,2,0,9,6],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006":[4,0,2,0,9,5],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7":[4,0,2,0,9,4],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ab4258d77fcc2f077260d06fdb0110e59":[4,0,2,0,9,0],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9":[4,0,2,0,9,9],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#acbf29cd42621edbff393a0ab84eb1753":[4,0,2,0,9,2],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656":[4,0,2,0,9,8],
+"structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7":[4,0,2,0,9,3],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html":[4,0,2,0,10],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a283a1b1a67923bd4c7568a2733c8c2a2":[4,0,2,0,10,0],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54":[4,0,2,0,10,5],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39":[4,0,2,0,10,4],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2":[4,0,2,0,10,1],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b":[4,0,2,0,10,2],
+"structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937":[4,0,2,0,10,3],
+"structllfio__v2__xxx_1_1construct.html":[4,0,2,5],
+"structllfio__v2__xxx_1_1construct.html#a1ecc9741761ebaa5ca372378ab8fb902":[4,0,2,5,0],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html":[4,0,2,6],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a0cea99755d4dd7fd857e80c432c7c721":[4,0,2,6,1],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a550b3f92e930f861d893fbabfb4cd1eb":[4,0,2,6,0],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html":[4,0,2,7],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a29756a86e009285fb711f6c582d395d7":[4,0,2,7,0],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a31f9cd583a2a709cab76bdd72a108f2b":[4,0,2,7,1],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aa9262bdcd513b6cb4b598dec84835cec":[4,0,2,7,5],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aadde6d9fb410db58ae37b069d3f16f31":[4,0,2,7,2],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#ab0814aefe3c103e08c222dfb2f832232":[4,0,2,7,4],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#abe3bdb5f77fd660bb15dc8987f30d468":[4,0,2,7,6],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#adf66b28253dc7c02134d0d0bac1d6e8b":[4,0,2,7,3],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html":[4,0,2,8],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#a674cce150aa7558602047c3f83f359ed":[4,0,2,8,3],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#aa19c09c0cb8af425ad79f8b7fc698659":[4,0,2,8,0],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#ab860793bdbf46c1d3da9500d6fca17a3":[4,0,2,8,1],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#af1562f8b6b902abb10439200d8917ca4":[4,0,2,8,2],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html":[4,0,2,9],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a1bcf48574533e425241e8c5cc61c815f":[4,0,2,9,5],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a2d65aba51ac38835bfbb4b998f3fe975":[4,0,2,9,0],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a87b731195a9cce60fce2c8b68dfbf6d5":[4,0,2,9,2],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a925599dc6a6847fd0e47db43d4e8d2e0":[4,0,2,9,6],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa16d2fb2dffec766022379d7742a06fe":[4,0,2,9,1],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa5dbc2e1e0363577d3e29c832871d8c7":[4,0,2,9,4],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aaf74200a4206016ae39a289e8759d967":[4,0,2,9,3],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html":[4,0,2,10],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a046ff1284b829b4121fe1d63cc5d191b":[4,0,2,10,4],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a7060dac835f180dc53f526b225f7f4d5":[4,0,2,10,1],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#abb95b453e85bdfc29aa6ab898add4746":[4,0,2,10,3],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ace71dd461300cd86897855fd465c7a8e":[4,0,2,10,0],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ad8d50a9cac68a3e441c46cce3b8fa628":[4,0,2,10,2],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html":[4,0,2,11],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a0104ba2b64a22dd223e64954a1855dd9":[4,0,2,11,5],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a10e4121ab35932b7b85b4cd2989c6811":[4,0,2,11,0],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a1285d5f82a85c7bebf2d47d7b626796b":[4,0,2,11,6],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a48372b9403bcb8ccaf07decd5edf7a41":[4,0,2,11,7],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a82fc63013eb5368fc3a0efe17440f7e9":[4,0,2,11,2],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a8ea52aad6ecbb298c34f1c0ee25421d9":[4,0,2,11,3],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ab6f55865b3a96c0c1433430ad19913d7":[4,0,2,11,4],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ac754d8cc2a5eb03041e1cd4f6c34917e":[4,0,2,11,1],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html":[4,0,2,12],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#a227669313e9340c70703b5d27e0cc0d4":[4,0,2,12,1],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#adb05fe97d8584c32fd91f6c7ae2b1f82":[4,0,2,12,0],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#ae75e42410f6a5a6f8a83c57c9a9208f3":[4,0,2,12,2],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html":[4,0,2,13],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a1c1c03647dedc0a218247d742989e9ac":[4,0,2,13,0],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a45fea525cd0b6b1e0485c5ea4144448b":[4,0,2,13,5],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a8cc4497f836fd9b400207db7e5fb0e30":[4,0,2,13,4],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a94ea51ae8b634e7d5d07687d84b2fd67":[4,0,2,13,1],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ab6d3c5dbe916b9dd8592c28735b9560c":[4,0,2,13,6],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ace4ae7b44a6608b826db808d50f40859":[4,0,2,13,3],
+"structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ae7d69bec7518a90b8d77f40fb294ff1d":[4,0,2,13,2],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html":[4,0,2,14],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a906515570d2d5bc9a9c6c141ebf9f2af":[4,0,2,14,2],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a99a5107835d9951ae0230ae0692b3197":[4,0,2,14,0],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a9aeeb80f1d4a86de1cf54da091595d58":[4,0,2,14,3],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#aba83e305f708b0cd1c0c3efa904ed84d":[4,0,2,14,1],
+"structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#ad9991b5abd9c0333d8480e6c20b0afd3":[4,0,2,14,4],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html":[4,0,2,15],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a15940fc9eb4caeb0459a25688c7ab87b":[4,0,2,15,3],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a2a69095a0ab01a9ffb6163cac7f56216":[4,0,2,15,0],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#abfd0263f5f7df8eef8b577c5413cacd6":[4,0,2,15,2],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#af3df17dbf0f309c4973dd1dcbb3d9ec1":[4,0,2,15,1],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html":[4,0,2,16],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a2b039a2ed54afb395147ef5e4fb1b073":[4,0,2,16,0],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a36fc6cf04c06e1d03de4756e1daa546e":[4,0,2,16,4],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a3f7c5cf88dbce2bdc5770b6ed3ffbb48":[4,0,2,16,1],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a5c9f9ad24422d97bac5193b8f4187df2":[4,0,2,16,2],
+"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a805d70248616fe04029f7c85353cb643":[4,0,2,16,3],
+"structllfio__v2__xxx_1_1deadline.html":[4,0,2,17],
+"structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b":[4,0,2,17,1],
+"structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545":[4,0,2,17,2],
+"structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359":[4,0,2,17,0],
+"structllfio__v2__xxx_1_1directory__entry.html":[4,0,2,18],
+"structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e":[4,0,2,18,0],
+"structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe":[4,0,2,18,1],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html":[4,0,2,19,0],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca":[4,0,2,19,0,8],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2":[4,0,2,19,0,6],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888":[4,0,2,19,0,5],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a528b7a4f0ce374154791c6c79efcee96":[4,0,2,19,0,0],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a5d249881aa831fb0300b5681de3af11e":[4,0,2,19,0,1],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5":[4,0,2,19,0,9],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b":[4,0,2,19,0,7],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e":[4,0,2,19,0,10],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a8d1148aa4702fbdbf8386c39ade9df05":[4,0,2,19,0,4],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41":[4,0,2,19,0,3],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,19,0,11],
+"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989":[4,0,2,19,0,2],
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html":[4,0,2,19,1],
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#a3978006ca70b2e28a1ae0dff588e3ff8":[4,0,2,19,1,3]
+};
diff --git a/navtreeindex12.js b/navtreeindex12.js
new file mode 100644
index 00000000..1c8c3e8a
--- /dev/null
+++ b/navtreeindex12.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX12 =
+{
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61":[4,0,2,19,1,0],
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#abc2cf1fa90c9448418a99524fff8d5cd":[4,0,2,19,1,4],
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#acef80df57e56c2e18a1987985a7d7590":[4,0,2,19,1,2],
+"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#ae2aa943fa3f67f3d7254643e0a19bedf":[4,0,2,19,1,1],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html":[4,0,2,20,0,0],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4":[4,0,2,20,0,0,2],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c":[4,0,2,20,0,0,4],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a5a72d066740f2b09005c6bbce3ffcde1":[4,0,2,20,0,0,0],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768":[4,0,2,20,0,0,1],
+"structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc":[4,0,2,20,0,0,3],
+"structllfio__v2__xxx_1_1error__info.html":[4,0,2,22],
+"structllfio__v2__xxx_1_1error__info.html#a005a8988d90a60851592b9ce46f43c68":[4,0,2,22,8],
+"structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5":[4,0,2,22,3],
+"structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4":[4,0,2,22,0],
+"structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9":[4,0,2,22,2],
+"structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38":[4,0,2,22,5],
+"structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5":[4,0,2,22,4],
+"structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c":[4,0,2,22,6],
+"structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a":[4,0,2,22,7],
+"structllfio__v2__xxx_1_1error__info.html#aeb88c6b0d4a2870c0ed4222538ee8418":[4,0,2,22,1],
+"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html":[4,0,2,24,0],
+"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a3d3ce0d6e3463340ef4ffbd0b5b523cf":[4,0,2,24,0,0],
+"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a853281a0dd1013e6e441fa419c2ad8f0":[4,0,2,24,0,1],
+"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a9d49b0269021bac52a119340604ac286":[4,0,2,24,0,2],
+"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#af67370f7251dde83b2947bfb4d080044":[4,0,2,24,0,3],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html":[4,0,2,25,0],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a15803043788e8035b49666399daf567b":[4,0,2,25,0,4],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a236b653b2364ca641921573eb2234161":[4,0,2,25,0,1],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e":[4,0,2,25,0,6],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a2d24ecbcb59152be697bb4b59ac2cc7f":[4,0,2,25,0,0],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a":[4,0,2,25,0,5],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a7c25646d9503f96589fd2a8eb3ee38e5":[4,0,2,25,0,2],
+"structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#ac5c10a964de26ec48eeb01e31218889f":[4,0,2,25,0,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html":[4,0,2,29,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a2ce78e519cd37cd21567ebe5942c4fc8":[4,0,2,29,0,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a35c0ef6095a3ffbd705479ae37a7dd36":[4,0,2,29,0,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a58ba434d7493741fe6fdf5249ef110c7":[4,0,2,29,0,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a5f83493af2a5907857a7e317af16a4fd":[4,0,2,29,0,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a7f70cec2726b0e14adac63adcf19ec70":[4,0,2,29,0,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a9ebd3fa93ce0fa3dc1f05ce72d11b70e":[4,0,2,29,0,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#ae0bf8e7e6304e348e363a471b3655efb":[4,0,2,29,0,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html":[4,0,2,29,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a01bf271bda674c78f92c0daeb3be1255":[4,0,2,29,1,32],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a02bad6faca4d518018a70fc53ebe351c":[4,0,2,29,1,22],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a14859e2590300a009a7edddb82d6f035":[4,0,2,29,1,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef":[4,0,2,29,1,17],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a321145a18f5f85416e41087a1dcc3a25":[4,0,2,29,1,34],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35":[4,0,2,29,1,24],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975":[4,0,2,29,1,15],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1":[4,0,2,29,1,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3fcec51351c69f0888b64c2097505644":[4,0,2,29,1,33],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a4bb3966e906c5fb81cfa50244a8b7a8b":[4,0,2,29,1,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd":[4,0,2,29,1,31],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385":[4,0,2,29,1,16],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a628376450957f45e09e967f06942ca31":[4,0,2,29,1,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c":[4,0,2,29,1,39],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a69b3c0981c57dc979e239e48742b30b6":[4,0,2,29,1,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6f022c352c9b8b903a72b2167df83268":[4,0,2,29,1,21],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4":[4,0,2,29,1,14],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a756cd8d29107f09c35becc49077279de":[4,0,2,29,1,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd":[4,0,2,29,1,25],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a8a3379a6af67a1656a2ee2f20058f847":[4,0,2,29,1,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a8d3c3ea42249e49552a991a1a2603587":[4,0,2,29,1,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a9b082db9550619210e18d41c43a401c6":[4,0,2,29,1,30],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a9b3e1a73a321f965ee0d60deeebd2e62":[4,0,2,29,1,20],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa08fb625c75115401d281b61a83b8beb":[4,0,2,29,1,18],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae":[4,0,2,29,1,36],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa302f3e0b65077bc3721db595f6acb98":[4,0,2,29,1,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628":[4,0,2,29,1,26],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4":[4,0,2,29,1,38],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aad1ee50a73100f34335b64de59d94214":[4,0,2,29,1,19],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb":[4,0,2,29,1,27],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#abab4b9301e4e4bbf8b24e3769cd5bb1d":[4,0,2,29,1,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147":[4,0,2,29,1,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac363efe90328c9a7790d94c249a78f6b":[4,0,2,29,1,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#acd0454f68047ee21a2b850c04bf2a205":[4,0,2,29,1,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#acda4e1f8e7713fb5a0c5e1cffbb8dcac":[4,0,2,29,1,37],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98":[4,0,2,29,1,23],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ad91b80c9cdb74d93aa86984f9b05a8c8":[4,0,2,29,1,28],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#addd6076ed27d82c3614930d4524935b8":[4,0,2,29,1,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ae00a5e9ca83a6e6dd499e21b2de41a33":[4,0,2,29,1,29],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#af4cb1c032dcf9d7bc390e116e0d28094":[4,0,2,29,1,35],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html":[4,0,2,29,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a01b43e5fc4b158b62f809eb7974bc9b6":[4,0,2,29,2,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a040be822742b91e92faf58626d9f315b":[4,0,2,29,2,30],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a0e7578c0eb50a0758a51d6eeb5855d56":[4,0,2,29,2,28],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a14859e2590300a009a7edddb82d6f035":[4,0,2,29,2,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef":[4,0,2,29,2,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42":[4,0,2,29,2,23],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a20b4d5b23f288f9174e723f314adb298":[4,0,2,29,2,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a25b833d23952b4f790d852ca67bf2498":[4,0,2,29,2,29],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0":[4,0,2,29,2,25],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a33dd639809167638c5ff88876ce6704e":[4,0,2,29,2,27],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975":[4,0,2,29,2,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1":[4,0,2,29,2,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a4bb3966e906c5fb81cfa50244a8b7a8b":[4,0,2,29,2,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a4e19333dfa7de8cd69b17e8cb8ddc32f":[4,0,2,29,2,20],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd":[4,0,2,29,2,32],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385":[4,0,2,29,2,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c":[4,0,2,29,2,39],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a69b3c0981c57dc979e239e48742b30b6":[4,0,2,29,2,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187":[4,0,2,29,2,26],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4":[4,0,2,29,2,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a726f236aee993a04e1088e927cb7dd22":[4,0,2,29,2,31],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a74d73db18493334a0b771bb394d83b59":[4,0,2,29,2,35],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a84cd5ea7fe3d85bc70ac4d9a495fe3a1":[4,0,2,29,2,33],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a84e74147ea57e8276546fb28cb0a20c7":[4,0,2,29,2,16],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a8a3379a6af67a1656a2ee2f20058f847":[4,0,2,29,2,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a8e74f943b29d8de7889cc3ebfda7a3d2":[4,0,2,29,2,34],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367":[4,0,2,29,2,24],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9b3e1a73a321f965ee0d60deeebd2e62":[4,0,2,29,2,19],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa08fb625c75115401d281b61a83b8beb":[4,0,2,29,2,17],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae":[4,0,2,29,2,36],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa302f3e0b65077bc3721db595f6acb98":[4,0,2,29,2,15],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4":[4,0,2,29,2,38],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aad0107b8c14a99e3dc26c54ba862b46e":[4,0,2,29,2,21],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aad1ee50a73100f34335b64de59d94214":[4,0,2,29,2,18],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147":[4,0,2,29,2,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac363efe90328c9a7790d94c249a78f6b":[4,0,2,29,2,14],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#acda4e1f8e7713fb5a0c5e1cffbb8dcac":[4,0,2,29,2,37],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98":[4,0,2,29,2,22],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#addd6076ed27d82c3614930d4524935b8":[4,0,2,29,2,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html":[4,0,2,29,2,0,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a06a5fce47829c43c00dc497ba56a783d":[4,0,2,29,2,0,0,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a0ccbf1017121c13954a9a98657e58009":[4,0,2,29,2,0,0,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a8e98829ad9a57bf493397ec7af5ed09e":[4,0,2,29,2,0,0,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c":[4,0,2,29,2,0,0,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3":[4,0,2,29,2,0,0,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#afa7980d974725268ca6f49652ae1bf6c":[4,0,2,29,2,0,0,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html":[4,0,2,29,2,0,0,0,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#a2c2f99007547a51a600b4377ddff3549":[4,0,2,29,2,0,0,0,0,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#a6df6ab1a03ab523726989eb6085da046":[4,0,2,29,2,0,0,0,0,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html":[4,0,2,29,2,0,0,0,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html#abba1d1e104b88c35919345907556473c":[4,0,2,29,2,0,0,0,2,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html":[4,0,2,29,2,0,0,0,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html#a43eaef540d7a90fdb64897dd4b36004d":[4,0,2,29,2,0,0,0,1,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html":[4,0,2,29,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a09f4f17a00a8fb700fd5cbb0b73d6d1d":[4,0,2,29,3,14],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a0b0f655751f5fdefee3557cebe469a06":[4,0,2,29,3,21],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a1cc023b82293762fbd472346fe41fdff":[4,0,2,29,3,25],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a20be335e45bf3d9c3f4369ba5692f247":[4,0,2,29,3,19],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a2782aa849f1881bd782da6714ec5435a":[4,0,2,29,3,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee":[4,0,2,29,3,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b":[4,0,2,29,3,22],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4":[4,0,2,29,3,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a5fc354bd51e2fbc006f2d5c7772268f1":[4,0,2,29,3,20],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc":[4,0,2,29,3,17],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7":[4,0,2,29,3,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc":[4,0,2,29,3,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a71f45f3dc4b6aeae4bca751758e69423":[4,0,2,29,3,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57":[4,0,2,29,3,15],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979":[4,0,2,29,3,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a828cc275944ca7a542ff9ca6084eb06b":[4,0,2,29,3,24],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6":[4,0,2,29,3,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf":[4,0,2,29,3,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a954c5d5a2b4f91a7af3caf7f36dbbdbe":[4,0,2,29,3,23],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ab290d8f6ae07e4bcc37b1de73f4457c0":[4,0,2,29,3,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ac1b0710e718b9edc638d59efb23ee94e":[4,0,2,29,3,16],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77":[4,0,2,29,3,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#acd04e91854d57489ae87872fc8f73065":[4,0,2,29,3,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ad9ded29fcb56dcbb2da09a8283522fde":[4,0,2,29,3,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ae46b4b960372e5dad3a53d45150b01a1":[4,0,2,29,3,18],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33":[4,0,2,29,3,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html":[4,0,2,29,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a05db984604f855b0f9b54cc6d476baff":[4,0,2,29,4,20],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c":[4,0,2,29,4,15],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead":[4,0,2,29,4,14],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3":[4,0,2,29,4,18],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1":[4,0,2,29,4,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a2be41190e9bc27f3a11510b92fe7d951":[4,0,2,29,4,22],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6":[4,0,2,29,4,17],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3e567d1e86750d6f113f66f9e40b8ee4":[4,0,2,29,4,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027":[4,0,2,29,4,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a60224ed41eaf9234dbf4a995e3dd6c4b":[4,0,2,29,4,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3":[4,0,2,29,4,16],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959":[4,0,2,29,4,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a7bfcba451d7a46f59394dd0e1ac418bf":[4,0,2,29,4,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb":[4,0,2,29,4,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa":[4,0,2,29,4,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206":[4,0,2,29,4,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add":[4,0,2,29,4,21],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a":[4,0,2,29,4,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41":[4,0,2,29,4,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6":[4,0,2,29,4,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#acac8ff4b4547c680c3cfdf5e3cd1b8eb":[4,0,2,29,4,19],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9":[4,0,2,29,4,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2":[4,0,2,29,4,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html":[4,0,2,29,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3":[4,0,2,29,5,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4":[4,0,2,29,5,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html":[4,0,2,29,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca":[4,0,2,29,6,17],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047c704dbd3858cd78b2c33f76230c05":[4,0,2,29,6,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b":[4,0,2,29,6,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba":[4,0,2,29,6,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f":[4,0,2,29,6,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e":[4,0,2,29,6,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf":[4,0,2,29,6,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2":[4,0,2,29,6,23],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721":[4,0,2,29,6,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0":[4,0,2,29,6,15],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a4aa7af3af85a3e3c34f353dad8918e2f":[4,0,2,29,6,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a4e21a7bcf52c2abf175fa65ca285b939":[4,0,2,29,6,21],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca":[4,0,2,29,6,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb":[4,0,2,29,6,18],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a9f46d19689162b22d017cfab4fc1051c":[4,0,2,29,6,22],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf":[4,0,2,29,6,20],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad0d5d725b0a5d013b311b8322bcbbf16":[4,0,2,29,6,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe":[4,0,2,29,6,19],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783":[4,0,2,29,6,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da":[4,0,2,29,6,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d":[4,0,2,29,6,14],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db":[4,0,2,29,6,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54":[4,0,2,29,6,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202":[4,0,2,29,6,16],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html":[4,0,2,29,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a01b43e5fc4b158b62f809eb7974bc9b6":[4,0,2,29,7,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105":[4,0,2,29,7,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a4371c9d03ecb1decec7c68ca0f2c6b92":[4,0,2,29,7,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a5118253f4c5082ca82649be979dfbc20":[4,0,2,29,7,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a6111c564da4caacffa898414b5990fb1":[4,0,2,29,7,11],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c":[4,0,2,29,7,13],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc":[4,0,2,29,7,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1":[4,0,2,29,7,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a84e74147ea57e8276546fb28cb0a20c7":[4,0,2,29,7,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae":[4,0,2,29,7,12],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#abd0c1c217adbd06f9cffa25478b2cd9b":[4,0,2,29,7,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2":[4,0,2,29,7,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a":[4,0,2,29,7,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html":[4,0,2,29,7,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a0494a80eaf01a43e614d5d49a81fa091":[4,0,2,29,7,0,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996":[4,0,2,29,7,0,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022":[4,0,2,29,7,0,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a22628597533a471ff24f587878817a0c":[4,0,2,29,7,0,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a274efbaa733f39ac2d9616da3ff89b65":[4,0,2,29,7,0,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a5acf279695133a7f0b69f196fa2cc77f":[4,0,2,29,7,0,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382":[4,0,2,29,7,0,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#aca12590d887eb55bccb4c5385fa2bfdf":[4,0,2,29,7,0,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#ad95fbd2893362176bb80317ac4af6681":[4,0,2,29,7,0,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#afdd381bc02871c0f03a864c358440c0b":[4,0,2,29,7,0,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html":[4,0,2,29,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06":[4,0,2,29,8,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a":[4,0,2,29,8,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1":[4,0,2,29,8,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87":[4,0,2,29,8,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ab290d8f6ae07e4bcc37b1de73f4457c0":[4,0,2,29,8,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e":[4,0,2,29,8,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde":[4,0,2,29,8,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1":[4,0,2,29,8,6],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd":[4,0,2,29,8,9]
+};
diff --git a/navtreeindex13.js b/navtreeindex13.js
new file mode 100644
index 00000000..2835bb02
--- /dev/null
+++ b/navtreeindex13.js
@@ -0,0 +1,253 @@
+var NAVTREEINDEX13 =
+{
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aee18da8642e904dca9fa1fdd329ca8da":[4,0,2,29,8,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html":[4,0,2,29,9],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#a04660f54ccc5b567f5eab5c17c6b2603":[4,0,2,29,9,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#a69b2277c0380ceaa1ba4ec5b7db2393a":[4,0,2,29,9,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#aaa060d6a214d592e7d3e99e65c0071e5":[4,0,2,29,9,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#af0f3675316aad33663b29fbcc18ecd13":[4,0,2,29,9,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html":[4,0,2,29,10],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a24c0f3c8835b190aa68b62c63b2785ad":[4,0,2,29,10,3],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a3645ef96bd25988a311927ef958b9286":[4,0,2,29,10,7],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a3996c7aa135d6a221a0c04e199cf3dee":[4,0,2,29,10,8],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a445b7d9b33e0b14bac8425fe5cef90e0":[4,0,2,29,10,0],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a50e820845148e148e5093f561f2ced6d":[4,0,2,29,10,1],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a5fe282d6dd7c7511d873bb5d78e1f8f1":[4,0,2,29,10,2],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff":[4,0,2,29,10,5],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a80018e9da3c27dca3f825fe3ebbfbf62":[4,0,2,29,10,4],
+"structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a81cfe21db8a4f042ce46a9c89ec743a2":[4,0,2,29,10,6],
+"structllfio__v2__xxx_1_1native__handle__type.html":[4,0,2,35],
+"structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd":[4,0,2,35,14],
+"structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8":[4,0,2,35,15],
+"structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672":[4,0,2,35,13],
+"structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29":[4,0,2,35,24],
+"structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d":[4,0,2,35,7],
+"structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763":[4,0,2,35,6],
+"structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524":[4,0,2,35,3],
+"structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed":[4,0,2,35,29],
+"structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73":[4,0,2,35,26],
+"structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078":[4,0,2,35,20],
+"structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e":[4,0,2,35,11],
+"structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1":[4,0,2,35,23],
+"structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450":[4,0,2,35,17],
+"structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45":[4,0,2,35,12],
+"structllfio__v2__xxx_1_1native__handle__type.html#a967ace482f3fe7fd3c6e24bffee25888":[4,0,2,35,31],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c":[4,0,2,35,2],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444":[4,0,2,35,19],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c":[4,0,2,35,9],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa9e3ba4e787524be1a1715f75586d5fe":[4,0,2,35,1],
+"structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489":[4,0,2,35,27],
+"structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3":[4,0,2,35,21],
+"structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e":[4,0,2,35,30],
+"structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415":[4,0,2,35,25],
+"structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9":[4,0,2,35,4],
+"structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32":[4,0,2,35,18],
+"structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d":[4,0,2,35,5],
+"structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa":[4,0,2,35,10],
+"structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca":[4,0,2,35,16],
+"structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6":[4,0,2,35,28],
+"structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd":[4,0,2,35,8],
+"structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c":[4,0,2,35,22],
+"structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd":[4,0,2,35,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html":[4,0,2,1,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a330a98525d5d2d1d51f3ddbcf25dac2f":[4,0,2,1,0,3],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f":[4,0,2,1,0,1],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61":[4,0,2,1,0,2],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d":[4,0,2,1,0,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176":[4,0,2,1,0,0,3],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a":[4,0,2,1,0,0,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96":[4,0,2,1,0,0,2],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354":[4,0,2,1,0,0,4],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2":[4,0,2,1,0,0,1],
+"structllfio__v2__xxx_1_1path__hasher.html":[4,0,2,37],
+"structllfio__v2__xxx_1_1path__hasher.html#a0cfdbdc3f8a3e83ce47944bb3ef3bffa":[4,0,2,37,0],
+"structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html":[4,0,2,41,0],
+"structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html#a1ad5d04e7968d3f4fe489dd413f5eed5":[4,0,2,41,0,0],
+"structllfio__v2__xxx_1_1stat__t.html":[4,0,2,44],
+"structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27":[4,0,2,44,2],
+"structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2":[4,0,2,44,23],
+"structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518":[4,0,2,44,24],
+"structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532":[4,0,2,44,17],
+"structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9":[4,0,2,44,9],
+"structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214":[4,0,2,44,27],
+"structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2":[4,0,2,44,26],
+"structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841":[4,0,2,44,4],
+"structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752":[4,0,2,44,16],
+"structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7":[4,0,2,44,7],
+"structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506":[4,0,2,44,14],
+"structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d":[4,0,2,44,8],
+"structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f":[4,0,2,44,13],
+"structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542":[4,0,2,44,11],
+"structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29":[4,0,2,44,12],
+"structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61":[4,0,2,44,10],
+"structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581":[4,0,2,44,5],
+"structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b":[4,0,2,44,18],
+"structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7":[4,0,2,44,6],
+"structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4":[4,0,2,44,1],
+"structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f":[4,0,2,44,22],
+"structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a":[4,0,2,44,25],
+"structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c":[4,0,2,44,15],
+"structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a":[4,0,2,44,3],
+"structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b":[4,0,2,44,28],
+"structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2":[4,0,2,44,19],
+"structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4":[4,0,2,44,21],
+"structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f":[4,0,2,44,0],
+"structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4":[4,0,2,44,20],
+"structllfio__v2__xxx_1_1statfs__t.html":[4,0,2,45],
+"structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb":[4,0,2,45,1],
+"structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b":[4,0,2,45,9],
+"structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771":[4,0,2,45,18],
+"structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46":[4,0,2,45,5],
+"structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d":[4,0,2,45,15],
+"structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428":[4,0,2,45,2],
+"structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c":[4,0,2,45,11],
+"structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2":[4,0,2,45,13],
+"structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2":[4,0,2,45,8],
+"structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786":[4,0,2,45,16],
+"structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060":[4,0,2,45,10],
+"structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d":[4,0,2,45,7],
+"structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962":[4,0,2,45,4],
+"structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7":[4,0,2,45,19],
+"structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e":[4,0,2,45,12],
+"structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0":[4,0,2,45,17],
+"structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd":[4,0,2,45,14],
+"structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426":[4,0,2,45,3],
+"structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf":[4,0,2,45,6],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html":[4,0,2,45,0],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243":[4,0,2,45,0,7],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf":[4,0,2,45,0,0],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b":[4,0,2,45,0,4],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2":[4,0,2,45,0,2],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879":[4,0,2,45,0,5],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44":[4,0,2,45,0,6],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411":[4,0,2,45,0,1],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1":[4,0,2,45,0,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html":[4,0,2,2,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,0,8],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b":[4,0,2,2,0,10],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885":[4,0,2,2,0,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e2758a838e47ddbfc11631d17c4afb9":[4,0,2,2,0,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,0,6],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,0,9],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aa0915c8cc88430ce45597255d7b56986":[4,0,2,2,0,7],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#acdf903dda426a6431fe90414b4f705ae":[4,0,2,2,0,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ad7571c38bb9b0d9f09dcca143ac9946f":[4,0,2,2,0,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ae0eee78db1a35ba06d11a76e677ca9f9":[4,0,2,2,0,5],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa":[4,0,2,2,0,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html":[4,0,2,2,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,1,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,1,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,1,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a9d8245c86d34ff3d0f731372bb60ced2":[4,0,2,2,1,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0":[4,0,2,2,1,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html":[4,0,2,2,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a0f52f8d9769f034435b0ea5080bf3488":[4,0,2,2,2,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,2,11],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd":[4,0,2,2,2,5],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,2,10],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,2,12],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a9973b036cdc9d3cc2908985b941c72fe":[4,0,2,2,2,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aaab359e27526e19fbc3c517e054d25ed":[4,0,2,2,2,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aad6ddffb9c8cf453b261780d0f3895d5":[4,0,2,2,2,8],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#abea7c179188a0ae728982bf8ad50d200":[4,0,2,2,2,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac160dd97720832a067feda5ca5cb4e5f":[4,0,2,2,2,7],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac9d90b19b6419bcfb07dd0c7dc546713":[4,0,2,2,2,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f":[4,0,2,2,2,6],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#af077e4ae520692425c2ea74dd1246570":[4,0,2,2,2,9],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html":[4,0,2,2,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a06e404bc2d1dc0ecf94f8d9a9fc69972":[4,0,2,2,3,94],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0e300d7284c629851be9670a257cd984":[4,0,2,2,3,22],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0f968e990ff1492c52e976da6e472f9d":[4,0,2,2,3,70],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b":[4,0,2,2,3,8],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1167af3f684a99281b49a8688d5b3974":[4,0,2,2,3,17],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1a35314c5647ff0e526de50891d3be7d":[4,0,2,2,3,59],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a20d71bd98a2dc4db195adbf6fd50bc17":[4,0,2,2,3,85],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a220be32bea5fce7b164740ed6299f221":[4,0,2,2,3,54],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a222ad22d9198707c555930345eff84ed":[4,0,2,2,3,76],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2276f3a9cb565d52b6ee778aeec060d5":[4,0,2,2,3,89],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2315e230b1fabf9e1121d04fff05dc37":[4,0,2,2,3,60],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a241f0cdd60088ce514b71f460dd555f4":[4,0,2,2,3,81],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2487955267187932374815ab4822027b":[4,0,2,2,3,61],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2673f599a3a837abe8d03514d59e845c":[4,0,2,2,3,55],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59":[4,0,2,2,3,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2c36320756f2b5c7bd1a11118d9cd4f8":[4,0,2,2,3,65],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a303fe2641c3c75488b11747d20907574":[4,0,2,2,3,75],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a349ded127a1defc9606a3c5bd4d4f726":[4,0,2,2,3,42],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a385e90599d598c19714b7beb0cfb259d":[4,0,2,2,3,39],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a42c30f1e55c74f9c5343b63fca5cea4d":[4,0,2,2,3,95],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392":[4,0,2,2,3,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a46abd1f25c8e3209b58c45e5b019f787":[4,0,2,2,3,69],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ae53650441ee5d65ab33175af262a39":[4,0,2,2,3,41],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490":[4,0,2,2,3,13],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4cfa77a5b44e98627c6027c5104cc699":[4,0,2,2,3,77],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f":[4,0,2,2,3,14],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a53f7ea612f6a206e0690af1091646910":[4,0,2,2,3,19],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a548fd96a9343f321cad34a827fe835d4":[4,0,2,2,3,18],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a54bee32017d716c65c0a7efdad0ee1b5":[4,0,2,2,3,92],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97":[4,0,2,2,3,12],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a5a515a8ee1d4cdc3c98b6d41ee282fba":[4,0,2,2,3,23],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a612045451fb94d2921143bfc7d6cc575":[4,0,2,2,3,25],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08":[4,0,2,2,3,10],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6268321ec8dfee09952dcb8364e93c27":[4,0,2,2,3,57],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a70f32c33de7d02ed2c39ff98b1027ce1":[4,0,2,2,3,31],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a72eb6a03e4839c996c6f564023b55851":[4,0,2,2,3,36],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a76ce22e1d0cf3f799c4766e90719a92a":[4,0,2,2,3,52],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973":[4,0,2,2,3,6],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a783d8c842e037ee85754d52af149cdcb":[4,0,2,2,3,72],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a799a4802bc79900b591bc3227588c264":[4,0,2,2,3,51],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a7bdddb66052d1d117f7908b7457e6108":[4,0,2,2,3,44],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a807a39d41640802c9c857693c7571633":[4,0,2,2,3,45],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d":[4,0,2,2,3,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a888a7743a781b850528458de2fcea559":[4,0,2,2,3,93],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a8c4e9ef8e341a55c274048f8e0fc0296":[4,0,2,2,3,80],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a95b44bf265801f0cbce2e5e3c6017966":[4,0,2,2,3,47],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6":[4,0,2,2,3,5],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9806ca270c0efa886c80405f95971b7d":[4,0,2,2,3,50],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9dba1344070b4a6175e8cae6c4f1347d":[4,0,2,2,3,30],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa279739048f7e2ef84cee6dbf4f27d74":[4,0,2,2,3,83],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa33ffe155d56a67eef70a4e10748e616":[4,0,2,2,3,62],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa417c1a68ed3072ea3c5fa6c604c129a":[4,0,2,2,3,29],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa60d02636b5990bd66b560a67a31ae72":[4,0,2,2,3,68],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa7f50aa7235858cde986ea9a26381f3b":[4,0,2,2,3,53],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa911cc7ceeb937c2e7b17929f78b4ab2":[4,0,2,2,3,7],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aabc4c76ae832bae66112f0f652a15dea":[4,0,2,2,3,34],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aad55f1e36644d0477b413f92064e88c6":[4,0,2,2,3,32],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aaf6683dae3b74185360d5b6b3cd01202":[4,0,2,2,3,71],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab2c9c64343a7a5d1b627d4600193601f":[4,0,2,2,3,24],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab37b713eb3727019db5cc2adcfb606a4":[4,0,2,2,3,35],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab3b3aa3747cfb1e2e2890ee99003c087":[4,0,2,2,3,49],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab602c4b6ebe5f30cce8f745cbafe7c53":[4,0,2,2,3,33],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab8c970b2f0eabac132840f5f1818f2f3":[4,0,2,2,3,27],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abaa22b10dc7620d7b8a5bc43dc0a1952":[4,0,2,2,3,84],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133":[4,0,2,2,3,9],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac0fd7584753593cb5499b3069e13d056":[4,0,2,2,3,56],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac6e28bb3dec6b0531f7267a01d295486":[4,0,2,2,3,40],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923":[4,0,2,2,3,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac9f186c0dee82daaebf7b880e615efb0":[4,0,2,2,3,87],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acab0c98c93149616bddb937fcddeafef":[4,0,2,2,3,78],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#accda92d5c8ff679c32218792b9933aeb":[4,0,2,2,3,46],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ace1bcc49772be69abd8d43c7d83c51c5":[4,0,2,2,3,88],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acf09944b61a0e84f7d72dd4a87ffb76d":[4,0,2,2,3,79],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de":[4,0,2,2,3,15],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad774e9a30fc6ebd9e470309c72087f36":[4,0,2,2,3,91],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad9c9da18153377245b960558ff48b5bc":[4,0,2,2,3,66],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541":[4,0,2,2,3,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#adec0a74a4c294c7e38cd65a1799ba741":[4,0,2,2,3,86],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae28eeb863bc8f82ba4882e207d599bec":[4,0,2,2,3,90],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae37d5c2b27d30a4c7aa8ce2138616f09":[4,0,2,2,3,38],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae3bac3c7cf80458b4c8014a3dc286457":[4,0,2,2,3,43],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae53b85910a23f259b6ce560cd1763b55":[4,0,2,2,3,74],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae8860b3934d76d9e0b1d6a3eadd9676b":[4,0,2,2,3,73],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aeab36fcf8c59f75987aba182ac46638e":[4,0,2,2,3,28],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aec674f9bb82befe1f9988e743eabba3b":[4,0,2,2,3,26],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aed82185c960d98285f610aaaa5f1fd64":[4,0,2,2,3,20],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af0ac2be1da6f65e1f607c7788ebbdd73":[4,0,2,2,3,67],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af29b8cdeb4dd83912687b8fe68c703b7":[4,0,2,2,3,37],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af4bd372d9c265d26eadb2f1b4a494c12":[4,0,2,2,3,58],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b":[4,0,2,2,3,16],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af694347286b66f45e66b03d7825350d3":[4,0,2,2,3,21],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af7beaacfc3e7e47ef2392dfeac421b5d":[4,0,2,2,3,82],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af8906857ccc0bc91120d1d05f632b91d":[4,0,2,2,3,64],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4":[4,0,2,2,3,11],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd256f7447d897d67d2117339b6b4ba3":[4,0,2,2,3,48]
+};
diff --git a/navtreeindex14.js b/navtreeindex14.js
new file mode 100644
index 00000000..8cf8afb5
--- /dev/null
+++ b/navtreeindex14.js
@@ -0,0 +1,137 @@
+var NAVTREEINDEX14 =
+{
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd8951bd4ad42ee68229e6c9e43bafa1":[4,0,2,2,3,63],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html":[4,0,2,46,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,46,0,19],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796":[4,0,2,46,0,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38":[4,0,2,46,0,14],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570":[4,0,2,46,0,10],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a32745ecde75b89de1687b479f26f0007":[4,0,2,46,0,6],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848":[4,0,2,46,0,7],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1":[4,0,2,46,0,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c":[4,0,2,46,0,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b":[4,0,2,46,0,17],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa":[4,0,2,46,0,16],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a":[4,0,2,46,0,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636":[4,0,2,46,0,15],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890":[4,0,2,46,0,8],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2":[4,0,2,46,0,5],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d":[4,0,2,46,0,12],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a":[4,0,2,46,0,18],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0":[4,0,2,46,0,11],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623":[4,0,2,46,0,13],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a":[4,0,2,46,0,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1":[4,0,2,46,0,9],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html":[4,0,2,46,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a0f67fea6217ef875f99985509e6a377a":[4,0,2,46,1,5],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec":[4,0,2,46,1,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,46,1,18],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11":[4,0,2,46,1,7],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40":[4,0,2,46,1,12],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9":[4,0,2,46,1,10],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6":[4,0,2,46,1,6],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9":[4,0,2,46,1,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba":[4,0,2,46,1,13],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6":[4,0,2,46,1,16],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a":[4,0,2,46,1,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852":[4,0,2,46,1,17],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d":[4,0,2,46,1,9],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a":[4,0,2,46,1,11],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621":[4,0,2,46,1,15],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc":[4,0,2,46,1,8],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97":[4,0,2,46,1,14],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a":[4,0,2,46,1,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878":[4,0,2,46,1,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html":[4,0,2,46,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html":[4,0,2,46,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a4e67cb18f2fb96cc20407538639b577c":[4,0,2,46,3,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c":[4,0,2,46,3,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a99aeb89e3cf582eabcb1377927851307":[4,0,2,46,3,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438":[4,0,2,46,3,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html":[4,0,2,46,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd":[4,0,2,46,4,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a95d04a85fd6c6de0f0f46ab2f1bbf3c5":[4,0,2,46,4,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,46,4,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,46,4,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ac6c62e07618b3d0bb32cfcca328ddb20":[4,0,2,46,4,3],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html":[4,0,2,3,0,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html#a0093a2a440bd3662b0ec692db4b59748":[4,0,2,3,0,0,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html":[4,0,2,3,1,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#ab3a3e0ea8260e142f4967d74ddbd688e":[4,0,2,3,1,0,0],
+"structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html":[4,0,2,3,2],
+"structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884":[4,0,2,3,2,1],
+"structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f":[4,0,2,3,2,0],
+"structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f":[4,0,2,3,2,3],
+"structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b":[4,0,2,3,2,2],
+"summarize_8hpp.html":[5,0,0,1,0,0,5],
+"summarize_8hpp.html#a6165d32704ff21b4aed3046f11b31cb0":[5,0,0,1,0,0,5,2],
+"symlink__handle_8hpp.html":[5,0,0,1,0,23],
+"symlink__handle_8hpp.html#a0fc31d7bab5faf3ee82e73854ff798b7":[5,0,0,1,0,23,8],
+"symlink__handle_8hpp.html#a5bdf9ca2127daf5defb1d845f21fa7b9":[5,0,0,1,0,23,7],
+"todo.html":[1],
+"traverse_8hpp.html":[5,0,0,1,0,0,6],
+"traverse_8hpp.html#ae068bc16598189811d0ce2b3530f1de7":[5,0,0,1,0,0,6,1],
+"trivial__vector_8hpp.html":[5,0,0,1,0,0,7],
+"trivial__vector_8hpp.html#a48db273f73f86955938b99faeef6e113":[5,0,0,1,0,0,7,9],
+"trivial__vector_8hpp.html#a4ba09ef10dc88c605edf40669322d8d4":[5,0,0,1,0,0,7,12],
+"trivial__vector_8hpp.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1":[5,0,0,1,0,0,7,11],
+"trivial__vector_8hpp.html#a7ef00d65394827ceb91597dda1f496f9":[5,0,0,1,0,0,7,5],
+"trivial__vector_8hpp.html#a993ddc5c77998a907582247107f6e6c5":[5,0,0,1,0,0,7,10],
+"trivial__vector_8hpp.html#ac18e1a34c78ea3e115ec42e822003459":[5,0,0,1,0,0,7,6],
+"trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4":[5,0,0,1,0,0,7,7],
+"trivial__vector_8hpp.html#ade5c4ba1da02f45e072be8f16e1fa46a":[5,0,0,1,0,0,7,8],
+"trivial__vector_8hpp.html#ade7571062c3e19cb6622bd2e411130ab":[5,0,0,1,0,0,7,13],
+"trivial__vector_8hpp.html#ae0973243c4b58d53d6f11ce5a2535a8c":[5,0,0,1,0,0,7,14],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html":[4,0,2,29,2,0],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a35e894eb7630c9defa7e8b39e9213cf0":[4,0,2,29,2,0,1],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a38ed72864a55f7d24e7a8d14c62d62d6":[4,0,2,29,2,0,7],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a48509c2f9f20635626c2cfc479f746d7":[4,0,2,29,2,0,6],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25":[4,0,2,29,2,0,10],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c":[4,0,2,29,2,0,9],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9":[4,0,2,29,2,0,8],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a699240eb1b27d4f2141e3151b83da0ea":[4,0,2,29,2,0,2],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ad730d0cee7a5e502f9984d710f00d5e6":[4,0,2,29,2,0,3],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ae1eb34ee48193fe9f548c924e35765f4":[4,0,2,29,2,0,4],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ae3279db6cd2952b16ff24b798a508fcb":[4,0,2,29,2,0,11],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#aea7264b7561ff24ff8afb131eb6503df":[4,0,2,29,2,0,5],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html":[4,0,2,29,2,0,0,0],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a60ba1f8083599eada35d441a1f085c97":[4,0,2,29,2,0,0,0,5],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a71672fc6ae8bedd987dd5a45d2aec020":[4,0,2,29,2,0,0,0,4],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a8ce28d20157166f6ffe495544d6e17e0":[4,0,2,29,2,0,0,0,6],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a94c6d0d99a4f896d4f789a272d8f1189":[4,0,2,29,2,0,0,0,7],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a9e7b88eca1d9e22db8a8ff7c547401a0":[4,0,2,29,2,0,0,0,8],
+"unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#ab945045195ddb1943f44cd2189846389":[4,0,2,29,2,0,0,0,3],
+"utils_8hpp.html":[5,0,0,1,0,24],
+"utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb":[5,0,0,1,0,24,8],
+"utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba":[5,0,0,1,0,24,13],
+"utils_8hpp.html#a5499feaf6b774e774a26e7decd11e3fa":[5,0,0,1,0,24,16],
+"utils_8hpp.html#a5a2d8f932686b4c35a67a6aa972b4e92":[5,0,0,1,0,24,7],
+"utils_8hpp.html#a67f8f31f6b93293a22a4b30d686eb3af":[5,0,0,1,0,24,17],
+"utils_8hpp.html#a6a29cf29a4b097411f6c1e5274bfb417":[5,0,0,1,0,24,15],
+"utils_8hpp.html#a7aae80908cc5521ef67234152c5c5044":[5,0,0,1,0,24,18],
+"utils_8hpp.html#a83420c7c9af03ca93d5ed029c34d5dd6":[5,0,0,1,0,24,10],
+"utils_8hpp.html#a85afc40cff0ecfd3a13520ea7e5176a1":[5,0,0,1,0,24,5],
+"utils_8hpp.html#abacefaf60ae391226c4775cf8a61276a":[5,0,0,1,0,24,9],
+"utils_8hpp.html#acf1b1646f257d85f7f2655df1042483f":[5,0,0,1,0,24,6],
+"utils_8hpp.html#ae1d9ee5d6d391f39f62dacbc8c957ae8":[5,0,0,1,0,24,11],
+"utils_8hpp.html#ae61e2de30b06776a1c24643a1d1dc64e":[5,0,0,1,0,24,14],
+"utils_8hpp.html#ae880ebd5681dcf6b700d67fb10b4547e":[5,0,0,1,0,24,12],
+"v2_80_2llfio_8hpp.html":[5,0,0,1,0,9],
+"v2_80_2llfio_8hpp.html#a090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,0,9,7],
+"v2_80_2llfio_8hpp.html#a18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,0,9,8],
+"v2_80_2llfio_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,0,9,3],
+"v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87":[5,0,0,1,0,9,1],
+"v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,0,9,2],
+"v2_80_2llfio_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,0,9,4],
+"v2_80_2llfio_8hpp.html#ab03294596f77a7717954929a887ca425":[5,0,0,1,0,9,6],
+"v2_80_2llfio_8hpp.html#acac3045524a50876c1bc6068bd6237f0":[5,0,0,1,0,9,5],
+"v2_80_2llfio_8hpp.html#ae0f8dc3a9d303f90044533d23f6417a8":[5,0,0,1,0,9,0],
+"version_8hpp.html":[5,0,0,1,2],
+"version_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,2,4],
+"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,2],
+"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,1],
+"version_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,2,5],
+"version_8hpp.html#ac7aedfe0660c15373b69a68f760c5799":[5,0,0,1,2,0],
+"xor_8hpp.html":[5,0,0,1,0,0,0,2],
+"xor_8hpp.html#a27450e894b5dab6c18a01350670fa0dc":[5,0,0,1,0,0,0,2,0]
+};
diff --git a/navtreeindex2.js b/navtreeindex2.js
index 1f1ad8fd..a08a510c 100644
--- a/navtreeindex2.js
+++ b/navtreeindex2.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX2 =
{
-"classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552":[4,0,2,4,34],
-"classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4":[4,0,2,4,26],
-"classllfio__v2__xxx_1_1async__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,4,95],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html":[4,0,2,4,0],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae":[4,0,2,4,0,0],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d":[4,0,2,4,0,2],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2":[4,0,2,4,0,1],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae39e3934b1eb85ac91f1993c8886d888":[4,0,2,4,0,3],
-"classllfio__v2__xxx_1_1directory__handle.html":[4,0,2,18],
-"classllfio__v2__xxx_1_1directory__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,18,30],
-"classllfio__v2__xxx_1_1directory__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,18,31],
-"classllfio__v2__xxx_1_1directory__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,18,34],
-"classllfio__v2__xxx_1_1directory__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,18,24],
-"classllfio__v2__xxx_1_1directory__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,18,55],
-"classllfio__v2__xxx_1_1directory__handle.html#a1674e6a6953fcda955bba33aac0b3e15":[4,0,2,18,8],
-"classllfio__v2__xxx_1_1directory__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,18,14],
-"classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,18,52],
-"classllfio__v2__xxx_1_1directory__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,18,67],
-"classllfio__v2__xxx_1_1directory__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,18,62],
-"classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552":[4,0,2,18,18],
-"classllfio__v2__xxx_1_1directory__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,18,43],
-"classllfio__v2__xxx_1_1directory__handle.html#a25dd21d41625bdacd384ace8afcd4f95":[4,0,2,18,6],
-"classllfio__v2__xxx_1_1directory__handle.html#a2b0ede942b80570e00ece55ba0c98c44":[4,0,2,18,21],
-"classllfio__v2__xxx_1_1directory__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,18,39],
-"classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952":[4,0,2,18,2],
-"classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49":[4,0,2,18,46],
-"classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33":[4,0,2,18,51],
-"classllfio__v2__xxx_1_1directory__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,18,60],
-"classllfio__v2__xxx_1_1directory__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,18,33],
-"classllfio__v2__xxx_1_1directory__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,18,64],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207":[4,0,2,18,15],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8":[4,0,2,18,15,1],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,18,15,0],
-"classllfio__v2__xxx_1_1directory__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,18,42],
-"classllfio__v2__xxx_1_1directory__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,18,40],
-"classllfio__v2__xxx_1_1directory__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,18,23],
-"classllfio__v2__xxx_1_1directory__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,18,54],
-"classllfio__v2__xxx_1_1directory__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,18,38],
-"classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817":[4,0,2,18,27],
-"classllfio__v2__xxx_1_1directory__handle.html#a7d856dc3340c48dcc4558520b5081cdb":[4,0,2,18,9],
-"classllfio__v2__xxx_1_1directory__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,18,25],
-"classllfio__v2__xxx_1_1directory__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,18,35],
-"classllfio__v2__xxx_1_1directory__handle.html#a82959a20c5c7f07c71d47cd5953b4516":[4,0,2,18,11],
-"classllfio__v2__xxx_1_1directory__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,18,66],
-"classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,18,48],
-"classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,18,53],
-"classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,18,58],
-"classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a":[4,0,2,18,17],
-"classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7":[4,0,2,18,29],
-"classllfio__v2__xxx_1_1directory__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,18,44],
-"classllfio__v2__xxx_1_1directory__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,18,45],
-"classllfio__v2__xxx_1_1directory__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,18,61],
-"classllfio__v2__xxx_1_1directory__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,18,37],
-"classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782":[4,0,2,18,59],
-"classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824":[4,0,2,18,20],
-"classllfio__v2__xxx_1_1directory__handle.html#a9a6682e415d0d82fee6d09bb0c774ef8":[4,0,2,18,7],
-"classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630":[4,0,2,18,47],
-"classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c":[4,0,2,18,28],
-"classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8":[4,0,2,18,19],
-"classllfio__v2__xxx_1_1directory__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,18,50],
-"classllfio__v2__xxx_1_1directory__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,18,57],
-"classllfio__v2__xxx_1_1directory__handle.html#aafd3eb03845b55c19154cab76956efad":[4,0,2,18,13],
-"classllfio__v2__xxx_1_1directory__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,18,56],
-"classllfio__v2__xxx_1_1directory__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,18,32],
-"classllfio__v2__xxx_1_1directory__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,18,49],
-"classllfio__v2__xxx_1_1directory__handle.html#acae677ba35e6cf0f1343e6d857c7c25b":[4,0,2,18,10],
-"classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e":[4,0,2,18,16],
-"classllfio__v2__xxx_1_1directory__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,18,65],
-"classllfio__v2__xxx_1_1directory__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,18,22],
-"classllfio__v2__xxx_1_1directory__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,18,36],
-"classllfio__v2__xxx_1_1directory__handle.html#adf3ed49b617b62ebe9d7514e0d198bb3":[4,0,2,18,3],
-"classllfio__v2__xxx_1_1directory__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,18,41],
-"classllfio__v2__xxx_1_1directory__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,18,26],
-"classllfio__v2__xxx_1_1directory__handle.html#aee70ec4eedd840ef360470ac9905f78a":[4,0,2,18,5],
-"classllfio__v2__xxx_1_1directory__handle.html#af39b5b7a73266dc1dd435f4fb1dfb463":[4,0,2,18,12],
-"classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a":[4,0,2,18,4],
-"classllfio__v2__xxx_1_1directory__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,18,63],
-"classllfio__v2__xxx_1_1error.html":[4,0,2,19],
-"classllfio__v2__xxx_1_1error.html#a3603921009fcf114f3fce282af950e21":[4,0,2,19,1],
-"classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3":[4,0,2,19,0],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html":[4,0,2,21],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0061ff2a757ff4f193d719d60aaeabc8":[4,0,2,21,10],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,21,35],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,21,37],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,21,40],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,21,28],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164":[4,0,2,21,79],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,21,69],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1020835dc0f70fbc8a7b852fa8d5c0b6":[4,0,2,21,1],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5":[4,0,2,21,57],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,21,17],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,21,65],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,21,91],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,21,78],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,21,49],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a22771acd68f6b630d3861c60aaa25a41":[4,0,2,21,14],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a28f78f709ba3d7b26ba38cefa21fd7b8":[4,0,2,21,30],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2919da8c2520240c4e65f18f68872fd0":[4,0,2,21,76],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63":[4,0,2,21,21],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,21,45],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a374be98b07825dd67829330298f79be7":[4,0,2,21,6],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a386543b3dd65d4d416d755a153eef593":[4,0,2,21,12],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a39516dc5f2780e42afe5dbb836829f56":[4,0,2,21,4],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e":[4,0,2,21,51],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2":[4,0,2,21,52],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2":[4,0,2,21,75],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4055bb02680af02dcc189f0461bad503":[4,0,2,21,53],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7":[4,0,2,21,20],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,21,74],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4b0a7e494477cecde8e160f8f20ef572":[4,0,2,21,5],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,21,39],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,21,85],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c":[4,0,2,21,58],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55b1ab8db8c3016c5bc75f1548e2f8e8":[4,0,2,21,11],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55f9c712b4ece6066a4269a73d229bfb":[4,0,2,21,7],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5baa53702ad860fa9c3fb5af28f14fd8":[4,0,2,21,13],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,21,48],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d4e51504bf58219c598047132b89c75":[4,0,2,21,16],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,21,64],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,21,46],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a69ff0c296ea61ee31fa1678f333bfc2a":[4,0,2,21,8],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,21,32],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6c0545db3c2e8fe9ffdafbfbe4b7f6e2":[4,0,2,21,9],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6d7f0bf0df9384635111f23bd63d1792":[4,0,2,21,26],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,21,63],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,21,27],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,21,67],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7595a3afdef527a8ce6287a9312a7524":[4,0,2,21,24],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,21,44],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,21,18],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,21,18,0],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,21,18,3],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,21,18,2],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,21,18,1],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398":[4,0,2,21,55],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,21,29],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,21,41],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a81a7ae5e213b40fdece1f76430eea161":[4,0,2,21,89],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,21,31],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,21,81],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,21,87],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,21,59],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,21,66],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,21,50],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,21,56],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,21,77],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,21,43],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0":[4,0,2,21,36],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63":[4,0,2,21,19],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e":[4,0,2,21,19,1],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7":[4,0,2,21,19,2],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a":[4,0,2,21,19,0],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,21,90],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa4a682714d5d3487bf2538facf4c02ee":[4,0,2,21,2],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,21,61],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,21,71],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,21,82],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504":[4,0,2,21,83],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9":[4,0,2,21,73],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d":[4,0,2,21,80],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,21,70],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,21,38],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,21,60],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac8b7de182379e57f0b40fda48d58822d":[4,0,2,21,15],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,21,72],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165":[4,0,2,21,34],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,21,86],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,21,25],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,21,42],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,21,54],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,21,47],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae5040ad73419130910156162006f37c1":[4,0,2,21,88],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae6af00343c705ee86d2ff248a438c3f2":[4,0,2,21,3],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,21,68],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1":[4,0,2,21,62],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,21,33],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247":[4,0,2,21,23],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca":[4,0,2,21,22],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,21,84],
-"classllfio__v2__xxx_1_1file__handle.html":[4,0,2,22],
-"classllfio__v2__xxx_1_1file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,22,35],
-"classllfio__v2__xxx_1_1file__handle.html#a00b1419055e695ebe77e71ab9088d6d1":[4,0,2,22,25],
-"classllfio__v2__xxx_1_1file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,22,37],
-"classllfio__v2__xxx_1_1file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,22,40],
-"classllfio__v2__xxx_1_1file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,22,28],
-"classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9":[4,0,2,22,77],
-"classllfio__v2__xxx_1_1file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,22,68],
-"classllfio__v2__xxx_1_1file__handle.html#a138431a6267d39120b71257af252ddd0":[4,0,2,22,7],
-"classllfio__v2__xxx_1_1file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,22,17],
-"classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,22,36],
-"classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,22,64],
-"classllfio__v2__xxx_1_1file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,22,86],
-"classllfio__v2__xxx_1_1file__handle.html#a1dbd617575d8cf99a864988e9202a915":[4,0,2,22,13],
-"classllfio__v2__xxx_1_1file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,22,76],
-"classllfio__v2__xxx_1_1file__handle.html#a1e478777fb31b49b95bcddbee612a13b":[4,0,2,22,1],
-"classllfio__v2__xxx_1_1file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,22,49],
-"classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0":[4,0,2,22,74],
-"classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,22,73],
-"classllfio__v2__xxx_1_1file__handle.html#a2bec420bc6d39c811d1fe32d97a6dcb0":[4,0,2,22,11],
-"classllfio__v2__xxx_1_1file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,22,45],
-"classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6":[4,0,2,22,57],
-"classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2":[4,0,2,22,52],
-"classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503":[4,0,2,22,53],
-"classllfio__v2__xxx_1_1file__handle.html#a465a6a796482f26866b4d2e566bf0ecc":[4,0,2,22,6],
-"classllfio__v2__xxx_1_1file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,22,72],
-"classllfio__v2__xxx_1_1file__handle.html#a4a50713d6a6aec1ecacc0cdf12d61298":[4,0,2,22,2],
-"classllfio__v2__xxx_1_1file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,22,39],
-"classllfio__v2__xxx_1_1file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,22,82],
-"classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,22,80],
-"classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793":[4,0,2,22,51],
-"classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,22,48],
-"classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4":[4,0,2,22,24],
-"classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f":[4,0,2,22,16],
-"classllfio__v2__xxx_1_1file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,22,63],
-"classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779":[4,0,2,22,21],
-"classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,22,34],
-"classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677":[4,0,2,22,14],
-"classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,22,46],
-"classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,22,32],
-"classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,22,62],
-"classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,22,27],
-"classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7":[4,0,2,22,23],
-"classllfio__v2__xxx_1_1file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,22,66],
-"classllfio__v2__xxx_1_1file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,22,44],
-"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,22,18],
-"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,22,18,0],
-"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,22,18,3],
-"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,22,18,2],
-"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,22,18,1],
-"classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,22,55],
-"classllfio__v2__xxx_1_1file__handle.html#a7afcacdae9224a8587b8163eb3f5db8b":[4,0,2,22,3],
-"classllfio__v2__xxx_1_1file__handle.html#a7c3dad6c677c2680a351c67444d3cb8c":[4,0,2,22,8],
-"classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,22,29],
-"classllfio__v2__xxx_1_1file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,22,41],
-"classllfio__v2__xxx_1_1file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,22,31],
-"classllfio__v2__xxx_1_1file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,22,78],
-"classllfio__v2__xxx_1_1file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,22,84],
-"classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,22,59],
-"classllfio__v2__xxx_1_1file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,22,65],
-"classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2":[4,0,2,22,20],
-"classllfio__v2__xxx_1_1file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,22,50],
-"classllfio__v2__xxx_1_1file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,22,56],
-"classllfio__v2__xxx_1_1file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,22,75],
-"classllfio__v2__xxx_1_1file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,22,43],
-"classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576":[4,0,2,22,15],
-"classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42":[4,0,2,22,22],
-"classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63":[4,0,2,22,19],
-"classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e":[4,0,2,22,19,1],
-"classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7":[4,0,2,22,19,2],
-"classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a":[4,0,2,22,19,0]
+"classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,19,60],
+"classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,19,68],
+"classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7":[4,0,2,19,30],
+"classllfio__v2__xxx_1_1directory__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,19,50],
+"classllfio__v2__xxx_1_1directory__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,19,52],
+"classllfio__v2__xxx_1_1directory__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,19,84],
+"classllfio__v2__xxx_1_1directory__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,19,42],
+"classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782":[4,0,2,19,66],
+"classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824":[4,0,2,19,22],
+"classllfio__v2__xxx_1_1directory__handle.html#a9a6682e415d0d82fee6d09bb0c774ef8":[4,0,2,19,7],
+"classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630":[4,0,2,19,53],
+"classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c":[4,0,2,19,29],
+"classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae":[4,0,2,19,19],
+"classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8":[4,0,2,19,21],
+"classllfio__v2__xxx_1_1directory__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,19,51],
+"classllfio__v2__xxx_1_1directory__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,19,57],
+"classllfio__v2__xxx_1_1directory__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,19,65],
+"classllfio__v2__xxx_1_1directory__handle.html#aafd16281ceb81c2901297c61248e4458":[4,0,2,19,79],
+"classllfio__v2__xxx_1_1directory__handle.html#aafd3eb03845b55c19154cab76956efad":[4,0,2,19,13],
+"classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e":[4,0,2,19,58],
+"classllfio__v2__xxx_1_1directory__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,19,15],
+"classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a":[4,0,2,19,18],
+"classllfio__v2__xxx_1_1directory__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,19,64],
+"classllfio__v2__xxx_1_1directory__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,19,35],
+"classllfio__v2__xxx_1_1directory__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,19,56],
+"classllfio__v2__xxx_1_1directory__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,19,40],
+"classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537":[4,0,2,19,61],
+"classllfio__v2__xxx_1_1directory__handle.html#ac7f52299db09ae2fb3fdd022c0cb9465":[4,0,2,19,80],
+"classllfio__v2__xxx_1_1directory__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,19,46],
+"classllfio__v2__xxx_1_1directory__handle.html#acae677ba35e6cf0f1343e6d857c7c25b":[4,0,2,19,10],
+"classllfio__v2__xxx_1_1directory__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,19,74],
+"classllfio__v2__xxx_1_1directory__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,19,71],
+"classllfio__v2__xxx_1_1directory__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,19,69],
+"classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e":[4,0,2,19,17],
+"classllfio__v2__xxx_1_1directory__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,19,87],
+"classllfio__v2__xxx_1_1directory__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,19,24],
+"classllfio__v2__xxx_1_1directory__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,19,41],
+"classllfio__v2__xxx_1_1directory__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,19,37],
+"classllfio__v2__xxx_1_1directory__handle.html#adf3ed49b617b62ebe9d7514e0d198bb3":[4,0,2,19,3],
+"classllfio__v2__xxx_1_1directory__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,19,47],
+"classllfio__v2__xxx_1_1directory__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,19,83],
+"classllfio__v2__xxx_1_1directory__handle.html#aee70ec4eedd840ef360470ac9905f78a":[4,0,2,19,5],
+"classllfio__v2__xxx_1_1directory__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,19,28],
+"classllfio__v2__xxx_1_1directory__handle.html#af39b5b7a73266dc1dd435f4fb1dfb463":[4,0,2,19,12],
+"classllfio__v2__xxx_1_1directory__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,19,76],
+"classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a":[4,0,2,19,4],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html":[4,0,2,20],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816":[4,0,2,20,8],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c":[4,0,2,20,3],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41":[4,0,2,20,7],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887":[4,0,2,20,6],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a926ed224e83131320905ea6917cbefa3":[4,0,2,20,2],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8":[4,0,2,20,4],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66":[4,0,2,20,5],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#acd9883ca1a476119de857fac1601332a":[4,0,2,20,9],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html":[4,0,2,20,0],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a08a869b40d064969f1b5f3536e2857a4":[4,0,2,20,0,4],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22":[4,0,2,20,0,9],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a1c2850bf3778d32c335eace1f05ea3b7":[4,0,2,20,0,6],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688":[4,0,2,20,0,14],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a2c49153ff193f7b3d948eec37b5509f7":[4,0,2,20,0,5],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef":[4,0,2,20,0,13],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a68e317002adf480e0a4c076410e35e8e":[4,0,2,20,0,11],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948":[4,0,2,20,0,15],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78":[4,0,2,20,0,2],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa090c92e4adf339d8092465934b82f03":[4,0,2,20,0,3],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa2b895fcc057bd6ee33ba2c116e5e978":[4,0,2,20,0,1],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aa6641deb837cc77540b1a9bdf41afa6f":[4,0,2,20,0,7],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821":[4,0,2,20,0,10],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ae8d6ba54f52e216edd37474f19731fd8":[4,0,2,20,0,8],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#aee890b7a94a8d7a24e9b55aef8177c49":[4,0,2,20,0,12],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html":[4,0,2,20,1],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35":[4,0,2,20,1,8],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a1c2850bf3778d32c335eace1f05ea3b7":[4,0,2,20,1,5],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a2c49153ff193f7b3d948eec37b5509f7":[4,0,2,20,1,4],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a340f332db74817420896cb3478ed9f32":[4,0,2,20,1,2],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e":[4,0,2,20,1,9],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a8b371d477b5784746ceb5681dce5f426":[4,0,2,20,1,3],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aa46655b633738fbab1680a9dc8e28286":[4,0,2,20,1,0],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aa6641deb837cc77540b1a9bdf41afa6f":[4,0,2,20,1,6],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ab6311b4975fc6aa06dfa0f6b69d91ca3":[4,0,2,20,1,11],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#acb61b18d7483fbc86768db0973b25e74":[4,0,2,20,1,10],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#acd9883ca1a476119de857fac1601332a":[4,0,2,20,1,13],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8":[4,0,2,20,1,7],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49":[4,0,2,20,1,12],
+"classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#af415e6b3b6db0eb3c126ff21ff6fa546":[4,0,2,20,1,1],
+"classllfio__v2__xxx_1_1error.html":[4,0,2,21],
+"classllfio__v2__xxx_1_1error.html#a3603921009fcf114f3fce282af950e21":[4,0,2,21,1],
+"classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3":[4,0,2,21,0],
+"classllfio__v2__xxx_1_1executor.html":[4,0,2,23],
+"classllfio__v2__xxx_1_1executor.html#a335698817f89dfa3b8c8c827e1b5d634":[4,0,2,23,0],
+"classllfio__v2__xxx_1_1executor.html#a615d561f4282c348a0158bafa1c0bfef":[4,0,2,23,1],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html":[4,0,2,24],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0061ff2a757ff4f193d719d60aaeabc8":[4,0,2,24,12],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,24,54],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,24,56],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,24,61],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,24,57],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,24,41],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,24,2],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,24,96],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1020835dc0f70fbc8a7b852fa8d5c0b6":[4,0,2,24,3],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5":[4,0,2,24,85],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,24,20],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,24,120],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,24,92],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,24,152],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,24,137],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,24,115],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,24,123],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,24,128],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,24,72],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a22771acd68f6b630d3861c60aaa25a41":[4,0,2,24,16],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,24,106],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,24,97],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94":[4,0,2,24,46],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63":[4,0,2,24,23],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,24,50],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,24,143],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,24,67],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,24,49],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a374be98b07825dd67829330298f79be7":[4,0,2,24,8],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a386543b3dd65d4d416d755a153eef593":[4,0,2,24,14],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a393d056936c3f262aff76ed406858a95":[4,0,2,24,111],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a39516dc5f2780e42afe5dbb836829f56":[4,0,2,24,6],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2":[4,0,2,24,103],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,24,91],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,24,116],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7":[4,0,2,24,22],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a469019e3bbcd7b37499b8604af713b40":[4,0,2,24,75],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,24,102],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c":[4,0,2,24,29],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4b0a7e494477cecde8e160f8f20ef572":[4,0,2,24,7],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce":[4,0,2,24,47],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,24,59],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,24,147],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,24,62],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c":[4,0,2,24,84],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55b1ab8db8c3016c5bc75f1548e2f8e8":[4,0,2,24,13],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55f9c712b4ece6066a4269a73d229bfb":[4,0,2,24,9],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a561ef83b4fe400b59c9d92444913c180":[4,0,2,24,138],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8":[4,0,2,24,33],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5baa53702ad860fa9c3fb5af28f14fd8":[4,0,2,24,15],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,24,71],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d4e51504bf58219c598047132b89c75":[4,0,2,24,19],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d89a5de0941ba6d1193a5b87cde28af":[4,0,2,24,125],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,24,52],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,24,108],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,24,31],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,24,68],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a69ff0c296ea61ee31fa1678f333bfc2a":[4,0,2,24,10],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,24,44],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,24,30],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711":[4,0,2,24,76],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6c0545db3c2e8fe9ffdafbfbe4b7f6e2":[4,0,2,24,11],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6d7f0bf0df9384635111f23bd63d1792":[4,0,2,24,38],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e":[4,0,2,24,110],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,24,40],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,24,95],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7595a3afdef527a8ce6287a9312a7524":[4,0,2,24,26],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7727a23852d90bd5ea4e47044d20cfee":[4,0,2,24,113],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,24,66],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d":[4,0,2,24,139],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,24,142],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,24,118],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292":[4,0,2,24,35],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,24,121],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,24,127],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a800b4d046b9648a9a4a69a7797548ee4":[4,0,2,24,144],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398":[4,0,2,24,81],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96":[4,0,2,24,55],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,24,42],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd":[4,0,2,24,145],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,24,149],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,24,86],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,24,93],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,24,51],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,24,104],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,24,73],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,24,83],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9582b139a2b92ff13708a4de547c5605":[4,0,2,24,77],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,24,136],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,24,39],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,24,65],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9e64021bc1f570d8c0c8b9c413981289":[4,0,2,24,135],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,24,18],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,24,36],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,24,146],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,24,53],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa24a432125e5b51b13f21d9b74fa4721":[4,0,2,24,79],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa276caa8542cca700a2574459395ff60":[4,0,2,24,94],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,24,80],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,24,43],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa4a682714d5d3487bf2538facf4c02ee":[4,0,2,24,4],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,24,74],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,24,88],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa8040aa44a0482224dbf5e9fc3131b19":[4,0,2,24,124],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d":[4,0,2,24,78],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aab4e4f580aee606c0796c6352f1f327a":[4,0,2,24,134],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,24,89],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,24,99],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,24,141],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,24,21],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,24,119],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9":[4,0,2,24,100],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,24,98],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,24,58],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,24,82],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,24,87],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,24,63],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,24,1],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac8b7de182379e57f0b40fda48d58822d":[4,0,2,24,17],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,24,69],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,24,131],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,24,117],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,24,105],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,24,101],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,24,27],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,24,109],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,24,107],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165":[4,0,2,24,48],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,24,148],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad8e3d809cb954d99e228ee756bac1c64":[4,0,2,24,114],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,24,37],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,24,34],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,24,64],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,24,60],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,24,90],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,24,70],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002":[4,0,2,24,112],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e":[4,0,2,24,28],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae5040ad73419130910156162006f37c1":[4,0,2,24,150],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae6af00343c705ee86d2ff248a438c3f2":[4,0,2,24,5],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,24,132],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,24,129],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,24,32],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aed4fd04da0a564159d6ccdcd724d0d7a":[4,0,2,24,151],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,24,130],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,24,45],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247":[4,0,2,24,25],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,24,122],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#af620e483e3963be3b09794da4040db12":[4,0,2,24,126],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca":[4,0,2,24,24],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#afab4b38fba3730a36ba0b2f849dc6777":[4,0,2,24,133],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703":[4,0,2,24,140],
+"classllfio__v2__xxx_1_1file__handle.html":[4,0,2,25],
+"classllfio__v2__xxx_1_1file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,25,58],
+"classllfio__v2__xxx_1_1file__handle.html#a00b1419055e695ebe77e71ab9088d6d1":[4,0,2,25,31],
+"classllfio__v2__xxx_1_1file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,25,60],
+"classllfio__v2__xxx_1_1file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,25,65]
};
diff --git a/navtreeindex3.js b/navtreeindex3.js
index f7f12930..92238806 100644
--- a/navtreeindex3.js
+++ b/navtreeindex3.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX3 =
{
-"classllfio__v2__xxx_1_1file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,22,85],
-"classllfio__v2__xxx_1_1file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,22,61],
-"classllfio__v2__xxx_1_1file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,22,70],
-"classllfio__v2__xxx_1_1file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,22,79],
-"classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a":[4,0,2,22,58],
-"classllfio__v2__xxx_1_1file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,22,69],
-"classllfio__v2__xxx_1_1file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,22,38],
-"classllfio__v2__xxx_1_1file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,22,60],
-"classllfio__v2__xxx_1_1file__handle.html#ac5d6eb50ef495e0ca7a8dca48a787878":[4,0,2,22,12],
-"classllfio__v2__xxx_1_1file__handle.html#ac86af2e1397d2b6b5e6ab3df8e073817":[4,0,2,22,10],
-"classllfio__v2__xxx_1_1file__handle.html#acbcde75e9429b8271adbca234e63d522":[4,0,2,22,9],
-"classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,22,71],
-"classllfio__v2__xxx_1_1file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,22,83],
-"classllfio__v2__xxx_1_1file__handle.html#adb03b26fe4085d50ea650f6d6a6aee2a":[4,0,2,22,30],
-"classllfio__v2__xxx_1_1file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,22,26],
-"classllfio__v2__xxx_1_1file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,22,42],
-"classllfio__v2__xxx_1_1file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,22,54],
-"classllfio__v2__xxx_1_1file__handle.html#adf4f016382816f3ad07838fece06bd25":[4,0,2,22,5],
-"classllfio__v2__xxx_1_1file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,22,47],
-"classllfio__v2__xxx_1_1file__handle.html#ae68f0cbc7793647a8ae07d72929e8fd6":[4,0,2,22,4],
-"classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,22,67],
-"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,22,33],
-"classllfio__v2__xxx_1_1file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,22,81],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html":[4,0,2,22,0],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a0b65170080b655042f5bf7ff69e378cf":[4,0,2,22,0,8],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a18694fe27c43df1083145cfb6d90bab7":[4,0,2,22,0,1],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2":[4,0,2,22,0,10],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9":[4,0,2,22,0,7],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422":[4,0,2,22,0,9],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab":[4,0,2,22,0,5],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a7ae40200b3504890be0820b4dd8f6b2d":[4,0,2,22,0,4],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a8f7fedeaae0a414a3ab84c3b4ad5b45b":[4,0,2,22,0,0],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2":[4,0,2,22,0,11],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3":[4,0,2,22,0,6],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c":[4,0,2,22,0,12],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d":[4,0,2,22,0,2],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4":[4,0,2,22,0,3],
-"classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#af04ab947e00adb1d01726aa376c42cf1":[4,0,2,22,0,13],
-"classllfio__v2__xxx_1_1fs__handle.html":[4,0,2,23],
-"classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b":[4,0,2,23,12],
-"classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,23,3],
-"classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97":[4,0,2,23,4],
-"classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,23,18],
-"classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d":[4,0,2,23,6],
-"classllfio__v2__xxx_1_1fs__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,23,19],
-"classllfio__v2__xxx_1_1fs__handle.html#a5a8b8b7eb5a31bfc94c5bc7eb189fe45":[4,0,2,23,10],
-"classllfio__v2__xxx_1_1fs__handle.html#a65ed33c4d0af7cbcd75aa32334473e95":[4,0,2,23,5],
-"classllfio__v2__xxx_1_1fs__handle.html#a6716da1bdd65c32c91eb3e4f34ccde98":[4,0,2,23,1],
-"classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f":[4,0,2,23,7],
-"classllfio__v2__xxx_1_1fs__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,23,20],
-"classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,23,13],
-"classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,23,14],
-"classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,23,17],
-"classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba":[4,0,2,23,11],
-"classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,23,16],
-"classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b":[4,0,2,23,2],
-"classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,23,15],
-"classllfio__v2__xxx_1_1fs__handle.html#ac43e0058de471b7b8c4a9f08e621038f":[4,0,2,23,0],
-"classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,23,9],
-"classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073":[4,0,2,23,8],
-"classllfio__v2__xxx_1_1handle.html":[4,0,2,24],
-"classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,24,16],
-"classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,24,17],
-"classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,24,20],
-"classllfio__v2__xxx_1_1handle.html#a026944e947f6830e5bc5fd31aae205be":[4,0,2,24,40],
-"classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,24,12],
-"classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,24,38],
-"classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,24,36],
-"classllfio__v2__xxx_1_1handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,24,44],
-"classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,24,29],
-"classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,24,1],
-"classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,24,25],
-"classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,24,39],
-"classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365":[4,0,2,24,33],
-"classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,24,19],
-"classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f":[4,0,2,24,0],
-"classllfio__v2__xxx_1_1handle.html#a5c7d33dcd1f366fa378607e1dd087744":[4,0,2,24,41],
-"classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,24,28],
-"classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,24,15],
-"classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,24,26],
-"classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0":[4,0,2,24,10],
-"classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,24,11],
-"classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,24,37],
-"classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,24,24],
-"classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11":[4,0,2,24,9],
-"classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,24,13],
-"classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,24,21],
-"classllfio__v2__xxx_1_1handle.html#a8cd6fc0b00a97c56ced034c56f7bc980":[4,0,2,24,8],
-"classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,24,30],
-"classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,24,31],
-"classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,24,23],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,24,5],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,5,1],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,5,0],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,24,5,6],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,24,5,3],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,24,5,2],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,24,5,4],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,24,5,5],
-"classllfio__v2__xxx_1_1handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,24,35],
-"classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0":[4,0,2,24,32],
-"classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,24,18],
-"classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,24,34],
-"classllfio__v2__xxx_1_1handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,24,43],
-"classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4":[4,0,2,24,7],
-"classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,24,22],
-"classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,24,27],
-"classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4":[4,0,2,24,6],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,24,3],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,24,3,3],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,3,1],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,3,0],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,24,3,6],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,24,3,5],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,24,3,2],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,24,3,7],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,24,3,4],
-"classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58":[4,0,2,24,2],
-"classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,24,14],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,24,4],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,24,4,2],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,24,4,0],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,24,4,3],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,24,4,1],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,24,4,4],
-"classllfio__v2__xxx_1_1handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,24,42],
-"classllfio__v2__xxx_1_1io__handle.html":[4,0,2,25],
-"classllfio__v2__xxx_1_1io__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,25,26],
-"classllfio__v2__xxx_1_1io__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,25,27],
-"classllfio__v2__xxx_1_1io__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,25,30],
-"classllfio__v2__xxx_1_1io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,25,21],
-"classllfio__v2__xxx_1_1io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,25,50],
-"classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,25,48],
-"classllfio__v2__xxx_1_1io__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,25,56],
-"classllfio__v2__xxx_1_1io__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,25,39],
-"classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737":[4,0,2,25,19],
-"classllfio__v2__xxx_1_1io__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,25,35],
-"classllfio__v2__xxx_1_1io__handle.html#a3d1224d5941b8c70761b2dcc2ba31217":[4,0,2,25,12],
-"classllfio__v2__xxx_1_1io__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,25,51],
-"classllfio__v2__xxx_1_1io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,25,29],
-"classllfio__v2__xxx_1_1io__handle.html#a4fc8d70aa6805d7ea2ee9a48a19ce107":[4,0,2,25,8],
-"classllfio__v2__xxx_1_1io__handle.html#a5422bf3cbcf7107722ed20df04ae8eb0":[4,0,2,25,9],
-"classllfio__v2__xxx_1_1io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,25,38],
-"classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,25,47],
-"classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f":[4,0,2,25,43],
-"classllfio__v2__xxx_1_1io__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,25,25],
-"classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e":[4,0,2,25,6],
-"classllfio__v2__xxx_1_1io__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,25,36],
-"classllfio__v2__xxx_1_1io__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,25,11],
-"classllfio__v2__xxx_1_1io__handle.html#a7117e0e4327c09103c1f27a9363c8b24":[4,0,2,25,15],
-"classllfio__v2__xxx_1_1io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,25,20],
-"classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,25,49],
-"classllfio__v2__xxx_1_1io__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,25,34],
-"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,25,13],
-"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,25,13,0],
-"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,25,13,3],
-"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,25,13,2],
-"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,25,13,1],
-"classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4":[4,0,2,25,44],
-"classllfio__v2__xxx_1_1io__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,25,22],
-"classllfio__v2__xxx_1_1io__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,25,31],
-"classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,25,23],
-"classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,25,52],
-"classllfio__v2__xxx_1_1io__handle.html#a8896fe978137f142648901cdfe7ab71f":[4,0,2,25,5],
-"classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed":[4,0,2,25,4],
-"classllfio__v2__xxx_1_1io__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,25,40],
-"classllfio__v2__xxx_1_1io__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,25,42],
-"classllfio__v2__xxx_1_1io__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,25,33],
-"classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3":[4,0,2,25,16],
-"classllfio__v2__xxx_1_1io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,25,46],
-"classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762":[4,0,2,25,14],
-"classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,25,53],
-"classllfio__v2__xxx_1_1io__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,25,28],
-"classllfio__v2__xxx_1_1io__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,25,45],
-"classllfio__v2__xxx_1_1io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,25,55],
-"classllfio__v2__xxx_1_1io__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,25,32],
-"classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,25,41],
-"classllfio__v2__xxx_1_1io__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,25,37],
-"classllfio__v2__xxx_1_1io__handle.html#ae2956bce00d899553c80f9de7f585984":[4,0,2,25,10],
-"classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7":[4,0,2,25,18],
-"classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b":[4,0,2,25,17],
-"classllfio__v2__xxx_1_1io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,25,24],
-"classllfio__v2__xxx_1_1io__handle.html#af74f2ad7f0cffb4161d0bd137710436c":[4,0,2,25,7],
-"classllfio__v2__xxx_1_1io__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,25,54],
-"classllfio__v2__xxx_1_1io__service.html":[4,0,2,26],
-"classllfio__v2__xxx_1_1io__service.html#a0b81486e5e967201edc296b102f369c5":[4,0,2,26,13],
-"classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e":[4,0,2,26,6],
-"classllfio__v2__xxx_1_1io__service.html#a16a6eef79a26e1cd3596c3843c06569c":[4,0,2,26,10],
-"classllfio__v2__xxx_1_1io__service.html#a26687077915f582a7c6473e8342c1df0":[4,0,2,26,19],
-"classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe":[4,0,2,26,4],
-"classllfio__v2__xxx_1_1io__service.html#a2c620e39d24645bd5537587e4115a0ce":[4,0,2,26,18],
-"classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a":[4,0,2,26,3],
-"classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106":[4,0,2,26,22],
-"classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28":[4,0,2,26,21],
-"classllfio__v2__xxx_1_1io__service.html#a60bcd5c5ef80239131759e159b19b902":[4,0,2,26,15],
-"classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835":[4,0,2,26,9],
-"classllfio__v2__xxx_1_1io__service.html#a6e1ce022fbbc99e4ee205abe812f3cdc":[4,0,2,26,14],
-"classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8":[4,0,2,26,1],
-"classllfio__v2__xxx_1_1io__service.html#a6fefd8a0aa3141f9883e1f0b0434ee2e":[4,0,2,26,16],
-"classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e":[4,0,2,26,7],
-"classllfio__v2__xxx_1_1io__service.html#a831051198c060b368b432f6cbded01fe":[4,0,2,26,11],
-"classllfio__v2__xxx_1_1io__service.html#ac1bf69d2f80beb1a255d181eecb4b11b":[4,0,2,26,12],
-"classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565":[4,0,2,26,20],
-"classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb":[4,0,2,26,23],
-"classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a":[4,0,2,26,2],
-"classllfio__v2__xxx_1_1io__service.html#ae39e3934b1eb85ac91f1993c8886d888":[4,0,2,26,24],
-"classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d":[4,0,2,26,17],
-"classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405":[4,0,2,26,8],
-"classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a":[4,0,2,26,5],
-"classllfio__v2__xxx_1_1log__level__guard.html":[4,0,2,27],
-"classllfio__v2__xxx_1_1log__level__guard.html#a22863db838ebd313c56188bdf63b3d77":[4,0,2,27,6],
-"classllfio__v2__xxx_1_1log__level__guard.html#a329bd8d4a8bae71dadf0346ed63dd27b":[4,0,2,27,2],
-"classllfio__v2__xxx_1_1log__level__guard.html#a363700d0fae71d029230a2b077f903d9":[4,0,2,27,4],
-"classllfio__v2__xxx_1_1log__level__guard.html#a642b39b0a98d74f02405375cffa63154":[4,0,2,27,3],
-"classllfio__v2__xxx_1_1log__level__guard.html#a6be4d7b9067148f3ae8d0b2a98396a65":[4,0,2,27,1],
-"classllfio__v2__xxx_1_1log__level__guard.html#adeabfd3bc148b7d514b5b99ce518c189":[4,0,2,27,5],
-"classllfio__v2__xxx_1_1log__level__guard.html#ae70161332cc20da4a976d50840bb928f":[4,0,2,27,0],
-"classllfio__v2__xxx_1_1map__handle.html":[4,0,2,28],
-"classllfio__v2__xxx_1_1map__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,28,31],
-"classllfio__v2__xxx_1_1map__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,28,34],
-"classllfio__v2__xxx_1_1map__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,28,37],
-"classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2":[4,0,2,28,54],
-"classllfio__v2__xxx_1_1map__handle.html#a04d5b12318493f32de67854714001ab2":[4,0,2,28,73],
-"classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11":[4,0,2,28,60],
-"classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92":[4,0,2,28,59],
-"classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,28,21],
-"classllfio__v2__xxx_1_1map__handle.html#a0b6166d8c12c8b8430d6204dc701bf25":[4,0,2,28,81],
-"classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f":[4,0,2,28,72],
-"classllfio__v2__xxx_1_1map__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,28,63],
-"classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead":[4,0,2,28,62],
-"classllfio__v2__xxx_1_1map__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,28,83],
-"classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a":[4,0,2,28,67],
-"classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506":[4,0,2,28,66],
-"classllfio__v2__xxx_1_1map__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,28,47],
-"classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195":[4,0,2,28,53],
-"classllfio__v2__xxx_1_1map__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,28,43],
-"classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d":[4,0,2,28,33],
-"classllfio__v2__xxx_1_1map__handle.html#a433596cf8fbaf7fa81c6ff8807c18b4e":[4,0,2,28,16],
-"classllfio__v2__xxx_1_1map__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,28,65],
-"classllfio__v2__xxx_1_1map__handle.html#a486f8bbb3ea986b6f2e877d9ea5ba81d":[4,0,2,28,82],
-"classllfio__v2__xxx_1_1map__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,28,36],
-"classllfio__v2__xxx_1_1map__handle.html#a4e59feb68c5df85b377be5dd3ee563ab":[4,0,2,28,2],
-"classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75":[4,0,2,28,32],
-"classllfio__v2__xxx_1_1map__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,28,46],
-"classllfio__v2__xxx_1_1map__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,28,58],
-"classllfio__v2__xxx_1_1map__handle.html#a6508b68a3a2748d16ba58c5052fb1149":[4,0,2,28,74],
-"classllfio__v2__xxx_1_1map__handle.html#a67fb29deeca27a58ca3d78c792ca5435":[4,0,2,28,78],
-"classllfio__v2__xxx_1_1map__handle.html#a68216d4c582fc817fa86229dce397146":[4,0,2,28,76],
-"classllfio__v2__xxx_1_1map__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,28,44],
-"classllfio__v2__xxx_1_1map__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,28,11]
+"classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42":[4,0,2,25,29],
+"classllfio__v2__xxx_1_1file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,25,61],
+"classllfio__v2__xxx_1_1file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,25,45],
+"classllfio__v2__xxx_1_1file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,25,2],
+"classllfio__v2__xxx_1_1file__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c":[4,0,2,25,80],
+"classllfio__v2__xxx_1_1file__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60":[4,0,2,25,33],
+"classllfio__v2__xxx_1_1file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,25,100],
+"classllfio__v2__xxx_1_1file__handle.html#a138431a6267d39120b71257af252ddd0":[4,0,2,25,9],
+"classllfio__v2__xxx_1_1file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,25,20],
+"classllfio__v2__xxx_1_1file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,25,123],
+"classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,25,96],
+"classllfio__v2__xxx_1_1file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,25,153],
+"classllfio__v2__xxx_1_1file__handle.html#a1dbd617575d8cf99a864988e9202a915":[4,0,2,25,15],
+"classllfio__v2__xxx_1_1file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,25,140],
+"classllfio__v2__xxx_1_1file__handle.html#a1e478777fb31b49b95bcddbee612a13b":[4,0,2,25,3],
+"classllfio__v2__xxx_1_1file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,25,118],
+"classllfio__v2__xxx_1_1file__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,25,126],
+"classllfio__v2__xxx_1_1file__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,25,131],
+"classllfio__v2__xxx_1_1file__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f":[4,0,2,25,40],
+"classllfio__v2__xxx_1_1file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,25,76],
+"classllfio__v2__xxx_1_1file__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,25,109],
+"classllfio__v2__xxx_1_1file__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,25,101],
+"classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab":[4,0,2,25,147],
+"classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94":[4,0,2,25,50],
+"classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,25,106],
+"classllfio__v2__xxx_1_1file__handle.html#a2bec420bc6d39c811d1fe32d97a6dcb0":[4,0,2,25,13],
+"classllfio__v2__xxx_1_1file__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,25,54],
+"classllfio__v2__xxx_1_1file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,25,146],
+"classllfio__v2__xxx_1_1file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,25,71],
+"classllfio__v2__xxx_1_1file__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,25,53],
+"classllfio__v2__xxx_1_1file__handle.html#a393d056936c3f262aff76ed406858a95":[4,0,2,25,114],
+"classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6":[4,0,2,25,88],
+"classllfio__v2__xxx_1_1file__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,25,95],
+"classllfio__v2__xxx_1_1file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,25,119],
+"classllfio__v2__xxx_1_1file__handle.html#a4379e3f84b913f606bb2ec6a194d4380":[4,0,2,25,38],
+"classllfio__v2__xxx_1_1file__handle.html#a465a6a796482f26866b4d2e566bf0ecc":[4,0,2,25,8],
+"classllfio__v2__xxx_1_1file__handle.html#a469019e3bbcd7b37499b8604af713b40":[4,0,2,25,79],
+"classllfio__v2__xxx_1_1file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,25,105],
+"classllfio__v2__xxx_1_1file__handle.html#a4a50713d6a6aec1ecacc0cdf12d61298":[4,0,2,25,4],
+"classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce":[4,0,2,25,51],
+"classllfio__v2__xxx_1_1file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,25,63],
+"classllfio__v2__xxx_1_1file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,25,150],
+"classllfio__v2__xxx_1_1file__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,25,66],
+"classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2":[4,0,2,25,24],
+"classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1":[4,0,2,25,23],
+"classllfio__v2__xxx_1_1file__handle.html#a5572735777dfdd3f7c5c1f6dc8260287":[4,0,2,25,142],
+"classllfio__v2__xxx_1_1file__handle.html#a561ef83b4fe400b59c9d92444913c180":[4,0,2,25,141],
+"classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,25,75],
+"classllfio__v2__xxx_1_1file__handle.html#a5d89a5de0941ba6d1193a5b87cde28af":[4,0,2,25,128],
+"classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f":[4,0,2,25,19],
+"classllfio__v2__xxx_1_1file__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,25,56],
+"classllfio__v2__xxx_1_1file__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,25,111],
+"classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,25,52],
+"classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677":[4,0,2,25,16],
+"classllfio__v2__xxx_1_1file__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,25,36],
+"classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,25,72],
+"classllfio__v2__xxx_1_1file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,25,48],
+"classllfio__v2__xxx_1_1file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,25,35],
+"classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a":[4,0,2,25,59],
+"classllfio__v2__xxx_1_1file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e":[4,0,2,25,113],
+"classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,25,44],
+"classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7":[4,0,2,25,26],
+"classllfio__v2__xxx_1_1file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,25,99],
+"classllfio__v2__xxx_1_1file__handle.html#a7727a23852d90bd5ea4e47044d20cfee":[4,0,2,25,116],
+"classllfio__v2__xxx_1_1file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,25,70],
+"classllfio__v2__xxx_1_1file__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,25,145],
+"classllfio__v2__xxx_1_1file__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,25,121],
+"classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,25,85],
+"classllfio__v2__xxx_1_1file__handle.html#a7afcacdae9224a8587b8163eb3f5db8b":[4,0,2,25,5],
+"classllfio__v2__xxx_1_1file__handle.html#a7c3dad6c677c2680a351c67444d3cb8c":[4,0,2,25,10],
+"classllfio__v2__xxx_1_1file__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,25,124],
+"classllfio__v2__xxx_1_1file__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,25,130],
+"classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4":[4,0,2,25,148],
+"classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,25,46],
+"classllfio__v2__xxx_1_1file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,25,152],
+"classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,25,90],
+"classllfio__v2__xxx_1_1file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,25,97],
+"classllfio__v2__xxx_1_1file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,25,55],
+"classllfio__v2__xxx_1_1file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,25,107],
+"classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2":[4,0,2,25,22],
+"classllfio__v2__xxx_1_1file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,25,77],
+"classllfio__v2__xxx_1_1file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,25,87],
+"classllfio__v2__xxx_1_1file__handle.html#a9582b139a2b92ff13708a4de547c5605":[4,0,2,25,81],
+"classllfio__v2__xxx_1_1file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,25,139],
+"classllfio__v2__xxx_1_1file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,25,43],
+"classllfio__v2__xxx_1_1file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,25,69],
+"classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576":[4,0,2,25,17],
+"classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd":[4,0,2,25,30],
+"classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42":[4,0,2,25,25],
+"classllfio__v2__xxx_1_1file__handle.html#a9e64021bc1f570d8c0c8b9c413981289":[4,0,2,25,138],
+"classllfio__v2__xxx_1_1file__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,25,18],
+"classllfio__v2__xxx_1_1file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,25,41],
+"classllfio__v2__xxx_1_1file__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,25,149],
+"classllfio__v2__xxx_1_1file__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,25,57],
+"classllfio__v2__xxx_1_1file__handle.html#aa24a432125e5b51b13f21d9b74fa4721":[4,0,2,25,83],
+"classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60":[4,0,2,25,98],
+"classllfio__v2__xxx_1_1file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,25,84],
+"classllfio__v2__xxx_1_1file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,25,47],
+"classllfio__v2__xxx_1_1file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,25,78],
+"classllfio__v2__xxx_1_1file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,25,92],
+"classllfio__v2__xxx_1_1file__handle.html#aa8040aa44a0482224dbf5e9fc3131b19":[4,0,2,25,127],
+"classllfio__v2__xxx_1_1file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d":[4,0,2,25,82],
+"classllfio__v2__xxx_1_1file__handle.html#aab4e4f580aee606c0796c6352f1f327a":[4,0,2,25,137],
+"classllfio__v2__xxx_1_1file__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,25,93],
+"classllfio__v2__xxx_1_1file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,25,103],
+"classllfio__v2__xxx_1_1file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,25,144],
+"classllfio__v2__xxx_1_1file__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,25,21],
+"classllfio__v2__xxx_1_1file__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,25,122],
+"classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a":[4,0,2,25,89],
+"classllfio__v2__xxx_1_1file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,25,102],
+"classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e":[4,0,2,25,28],
+"classllfio__v2__xxx_1_1file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,25,62],
+"classllfio__v2__xxx_1_1file__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,25,86],
+"classllfio__v2__xxx_1_1file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,25,91],
+"classllfio__v2__xxx_1_1file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,25,67],
+"classllfio__v2__xxx_1_1file__handle.html#ac5d6eb50ef495e0ca7a8dca48a787878":[4,0,2,25,14],
+"classllfio__v2__xxx_1_1file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,25,1],
+"classllfio__v2__xxx_1_1file__handle.html#ac86af2e1397d2b6b5e6ab3df8e073817":[4,0,2,25,12],
+"classllfio__v2__xxx_1_1file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,25,73],
+"classllfio__v2__xxx_1_1file__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,25,134],
+"classllfio__v2__xxx_1_1file__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,25,120],
+"classllfio__v2__xxx_1_1file__handle.html#acbcde75e9429b8271adbca234e63d522":[4,0,2,25,11],
+"classllfio__v2__xxx_1_1file__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,25,108],
+"classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,25,104],
+"classllfio__v2__xxx_1_1file__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,25,32],
+"classllfio__v2__xxx_1_1file__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,25,112],
+"classllfio__v2__xxx_1_1file__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,25,110],
+"classllfio__v2__xxx_1_1file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,25,151],
+"classllfio__v2__xxx_1_1file__handle.html#ad8e3d809cb954d99e228ee756bac1c64":[4,0,2,25,117],
+"classllfio__v2__xxx_1_1file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,25,42],
+"classllfio__v2__xxx_1_1file__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,25,39],
+"classllfio__v2__xxx_1_1file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,25,68],
+"classllfio__v2__xxx_1_1file__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,25,64],
+"classllfio__v2__xxx_1_1file__handle.html#adf4f016382816f3ad07838fece06bd25":[4,0,2,25,7],
+"classllfio__v2__xxx_1_1file__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,25,94],
+"classllfio__v2__xxx_1_1file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,25,74],
+"classllfio__v2__xxx_1_1file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002":[4,0,2,25,115],
+"classllfio__v2__xxx_1_1file__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3":[4,0,2,25,34],
+"classllfio__v2__xxx_1_1file__handle.html#ae68f0cbc7793647a8ae07d72929e8fd6":[4,0,2,25,6],
+"classllfio__v2__xxx_1_1file__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,25,135],
+"classllfio__v2__xxx_1_1file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,25,132],
+"classllfio__v2__xxx_1_1file__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,25,37],
+"classllfio__v2__xxx_1_1file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,25,133],
+"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,25,49],
+"classllfio__v2__xxx_1_1file__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,25,125],
+"classllfio__v2__xxx_1_1file__handle.html#af620e483e3963be3b09794da4040db12":[4,0,2,25,129],
+"classllfio__v2__xxx_1_1file__handle.html#afab4b38fba3730a36ba0b2f849dc6777":[4,0,2,25,136],
+"classllfio__v2__xxx_1_1file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703":[4,0,2,25,143],
+"classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746":[4,0,2,25,27],
+"classllfio__v2__xxx_1_1fs__handle.html":[4,0,2,26],
+"classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b":[4,0,2,26,13],
+"classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4":[4,0,2,26,33],
+"classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,26,3],
+"classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97":[4,0,2,26,5],
+"classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,26,32],
+"classllfio__v2__xxx_1_1fs__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,26,22],
+"classllfio__v2__xxx_1_1fs__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,26,27],
+"classllfio__v2__xxx_1_1fs__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,26,29],
+"classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d":[4,0,2,26,7],
+"classllfio__v2__xxx_1_1fs__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,26,23],
+"classllfio__v2__xxx_1_1fs__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,26,34],
+"classllfio__v2__xxx_1_1fs__handle.html#a5a8b8b7eb5a31bfc94c5bc7eb189fe45":[4,0,2,26,11],
+"classllfio__v2__xxx_1_1fs__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,26,20],
+"classllfio__v2__xxx_1_1fs__handle.html#a65ed33c4d0af7cbcd75aa32334473e95":[4,0,2,26,6],
+"classllfio__v2__xxx_1_1fs__handle.html#a6716da1bdd65c32c91eb3e4f34ccde98":[4,0,2,26,1],
+"classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f":[4,0,2,26,8],
+"classllfio__v2__xxx_1_1fs__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,26,25],
+"classllfio__v2__xxx_1_1fs__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,26,28],
+"classllfio__v2__xxx_1_1fs__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,26,35],
+"classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,26,15],
+"classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,26,16],
+"classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,26,31],
+"classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,26,12],
+"classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba":[4,0,2,26,14],
+"classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,26,18],
+"classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,26,4],
+"classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b":[4,0,2,26,2],
+"classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,26,17],
+"classllfio__v2__xxx_1_1fs__handle.html#ac43e0058de471b7b8c4a9f08e621038f":[4,0,2,26,0],
+"classllfio__v2__xxx_1_1fs__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,26,24],
+"classllfio__v2__xxx_1_1fs__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,26,21],
+"classllfio__v2__xxx_1_1fs__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,26,19],
+"classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,26,10],
+"classllfio__v2__xxx_1_1fs__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,26,30],
+"classllfio__v2__xxx_1_1fs__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,26,26],
+"classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073":[4,0,2,26,9],
+"classllfio__v2__xxx_1_1handle.html":[4,0,2,27],
+"classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,27,16],
+"classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,27,17],
+"classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,27,22],
+"classllfio__v2__xxx_1_1handle.html#a026944e947f6830e5bc5fd31aae205be":[4,0,2,27,44],
+"classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,27,18],
+"classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,27,12],
+"classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,27,42],
+"classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,27,40],
+"classllfio__v2__xxx_1_1handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,27,47],
+"classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,27,33],
+"classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,27,1],
+"classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,27,28],
+"classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,27,43],
+"classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365":[4,0,2,27,37],
+"classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,27,20],
+"classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f":[4,0,2,27,0],
+"classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,27,23],
+"classllfio__v2__xxx_1_1handle.html#a5c7d33dcd1f366fa378607e1dd087744":[4,0,2,27,45],
+"classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,27,32],
+"classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,27,15],
+"classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,27,29],
+"classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0":[4,0,2,27,10],
+"classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,27,11],
+"classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,27,41],
+"classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,27,27],
+"classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11":[4,0,2,27,9],
+"classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,27,13],
+"classllfio__v2__xxx_1_1handle.html#a8cd6fc0b00a97c56ced034c56f7bc980":[4,0,2,27,8],
+"classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,27,34],
+"classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,27,35],
+"classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,27,26],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,27,5],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,27,5,1],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,27,5,0],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,27,5,6],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,27,5,3],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,27,5,2],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,27,5,4],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,27,5,5],
+"classllfio__v2__xxx_1_1handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,27,39],
+"classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0":[4,0,2,27,36],
+"classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,27,19],
+"classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,27,38],
+"classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,27,24],
+"classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,27,30],
+"classllfio__v2__xxx_1_1handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,27,46],
+"classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4":[4,0,2,27,7],
+"classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,27,25],
+"classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,27,21],
+"classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,27,31],
+"classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4":[4,0,2,27,6],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,27,3],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,27,3,3],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,27,3,1],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,27,3,0],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,27,3,6],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,27,3,5],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,27,3,2],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,27,3,7],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,27,3,4],
+"classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58":[4,0,2,27,2],
+"classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,27,14],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,27,4]
};
diff --git a/navtreeindex4.js b/navtreeindex4.js
index e04c5678..4972f3fc 100644
--- a/navtreeindex4.js
+++ b/navtreeindex4.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX4 =
{
-"classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,28,20],
-"classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc":[4,0,2,28,55],
-"classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737":[4,0,2,28,19],
-"classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,28,61],
-"classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887":[4,0,2,28,38],
-"classllfio__v2__xxx_1_1map__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,28,42],
-"classllfio__v2__xxx_1_1map__handle.html#a776d7d6acd8d80b54c086eafbc1d57c9":[4,0,2,28,4],
-"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,28,13],
-"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,28,13,0],
-"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,28,13,3],
-"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,28,13,2],
-"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,28,13,1],
-"classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf":[4,0,2,28,64],
-"classllfio__v2__xxx_1_1map__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,28,22],
-"classllfio__v2__xxx_1_1map__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,28,39],
-"classllfio__v2__xxx_1_1map__handle.html#a80e2ea0a3d7289b55911375fe44cf1fd":[4,0,2,28,1],
-"classllfio__v2__xxx_1_1map__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,28,25],
-"classllfio__v2__xxx_1_1map__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,28,69],
-"classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b":[4,0,2,28,17],
-"classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b":[4,0,2,28,71],
-"classllfio__v2__xxx_1_1map__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,28,48],
-"classllfio__v2__xxx_1_1map__handle.html#a936a1df99ed13959c716f434fec642a0":[4,0,2,28,10],
-"classllfio__v2__xxx_1_1map__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,28,51],
-"classllfio__v2__xxx_1_1map__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,28,41],
-"classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7":[4,0,2,28,30],
-"classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198":[4,0,2,28,52],
-"classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279":[4,0,2,28,15],
-"classllfio__v2__xxx_1_1map__handle.html#a9ff113f78e71337f78c9139ca202fe6a":[4,0,2,28,79],
-"classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4":[4,0,2,28,18],
-"classllfio__v2__xxx_1_1map__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,28,57],
-"classllfio__v2__xxx_1_1map__handle.html#aa954d9b40b2685bbc8a229e3907c297d":[4,0,2,28,14],
-"classllfio__v2__xxx_1_1map__handle.html#aaa8a74dfd708c27f547a6ebd6298d043":[4,0,2,28,7],
-"classllfio__v2__xxx_1_1map__handle.html#ab0aa8cab289373bace4c576465fe7e3d":[4,0,2,28,26],
-"classllfio__v2__xxx_1_1map__handle.html#ab352528186444502bbd2784518e61548":[4,0,2,28,6],
-"classllfio__v2__xxx_1_1map__handle.html#ab3eba2db55f7fd082a395ea225826ba0":[4,0,2,28,3],
-"classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,28,70],
-"classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e":[4,0,2,28,29],
-"classllfio__v2__xxx_1_1map__handle.html#ab814c4ba9fb6486c21f701a00691df2f":[4,0,2,28,9],
-"classllfio__v2__xxx_1_1map__handle.html#ab9bd6d309f13b72291b2bf7dd495cda4":[4,0,2,28,8],
-"classllfio__v2__xxx_1_1map__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,28,35],
-"classllfio__v2__xxx_1_1map__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,28,56],
-"classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9":[4,0,2,28,68],
-"classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152":[4,0,2,28,27],
-"classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a":[4,0,2,28,24],
-"classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65":[4,0,2,28,23],
-"classllfio__v2__xxx_1_1map__handle.html#acf99226dfe0cb36b0650d71159a74631":[4,0,2,28,0],
-"classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7":[4,0,2,28,49],
-"classllfio__v2__xxx_1_1map__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,28,77],
-"classllfio__v2__xxx_1_1map__handle.html#addcc662f728bb854dc83d7fbbbef7f19":[4,0,2,28,12],
-"classllfio__v2__xxx_1_1map__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,28,40],
-"classllfio__v2__xxx_1_1map__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,28,50],
-"classllfio__v2__xxx_1_1map__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,28,45],
-"classllfio__v2__xxx_1_1map__handle.html#ae44bc69b964c2140a3bab80dd8aed205":[4,0,2,28,80],
-"classllfio__v2__xxx_1_1map__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,28,28],
-"classllfio__v2__xxx_1_1map__handle.html#af00a09029160be2f81bb55958271dc7a":[4,0,2,28,5],
-"classllfio__v2__xxx_1_1map__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,28,75],
-"classllfio__v2__xxx_1_1mapped.html":[4,0,2,29],
-"classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a":[4,0,2,29,20],
-"classllfio__v2__xxx_1_1mapped.html#a1419f37ad874215a49d02727c98c85d6":[4,0,2,29,16],
-"classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b":[4,0,2,29,1],
-"classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11":[4,0,2,29,4],
-"classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0":[4,0,2,29,22],
-"classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5":[4,0,2,29,12],
-"classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4":[4,0,2,29,13],
-"classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209":[4,0,2,29,9],
-"classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec":[4,0,2,29,17],
-"classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52":[4,0,2,29,0],
-"classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9":[4,0,2,29,19],
-"classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4":[4,0,2,29,8],
-"classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad":[4,0,2,29,7],
-"classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393":[4,0,2,29,11],
-"classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d":[4,0,2,29,14],
-"classllfio__v2__xxx_1_1mapped.html#ab073f811a62fdf71082577061d5692df":[4,0,2,29,23],
-"classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e":[4,0,2,29,3],
-"classllfio__v2__xxx_1_1mapped.html#ab4a5930886cab4f30fbbf7428f6a36d5":[4,0,2,29,15],
-"classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df":[4,0,2,29,10],
-"classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70":[4,0,2,29,25],
-"classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda":[4,0,2,29,5],
-"classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83":[4,0,2,29,6],
-"classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876":[4,0,2,29,2],
-"classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d":[4,0,2,29,21],
-"classllfio__v2__xxx_1_1mapped.html#aec16b8229eaee9115bcb8389fe704ada":[4,0,2,29,24],
-"classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144":[4,0,2,29,18],
-"classllfio__v2__xxx_1_1mapped__file__handle.html":[4,0,2,30],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,30,37],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,30,39],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,30,42],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75":[4,0,2,30,84],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a0560265e0919989954e11a66c9373bbf":[4,0,2,30,7],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0":[4,0,2,30,60],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a073e7db9a64063e7298a362d3c379262":[4,0,2,30,6],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33":[4,0,2,30,76],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,30,28],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9":[4,0,2,30,89],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b":[4,0,2,30,64],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,30,78],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433":[4,0,2,30,74],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a16593f18d4a9e83bf696d637ffcc8b5e":[4,0,2,30,0],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,30,16],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,30,38],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,30,103],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,30,88],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1f74f4fc555c609bb6056a7a4b6f8d77":[4,0,2,30,24],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a2088570f26197f7bea41e29659deec52":[4,0,2,30,10],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,30,52],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395":[4,0,2,30,86],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5":[4,0,2,30,93],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a2919da8c2520240c4e65f18f68872fd0":[4,0,2,30,85],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a2947864bd359b008c1ae36046abd79ca":[4,0,2,30,15],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e":[4,0,2,30,21],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578":[4,0,2,30,75],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c":[4,0,2,30,36],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee":[4,0,2,30,82],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,30,48],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a3c5c229b11f488d0e9bff74c65737db2":[4,0,2,30,55],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4055bb02680af02dcc189f0461bad503":[4,0,2,30,56],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71":[4,0,2,30,71],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a45b948ce8159d12dab88ed73cd445233":[4,0,2,30,1],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,30,83],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a49db79127d440f0f8997bd52f0699818":[4,0,2,30,11],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44":[4,0,2,30,19],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,30,41],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,30,96],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7":[4,0,2,30,43],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5a9910116cc5751398e6b55f06a9a793":[4,0,2,30,54],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,30,51],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,30,69],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303":[4,0,2,30,63],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a609d84c0abc8efadb678237b48d1011b":[4,0,2,30,4],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96":[4,0,2,30,14],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,30,49],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,30,33],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9":[4,0,2,30,22],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,30,68],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,30,27],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,30,73],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,30,47],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,30,17],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,30,17,0],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,30,17,3],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,30,17,2],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,30,17,1],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661":[4,0,2,30,100],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7bff548a619fa73951bf561039915076":[4,0,2,30,3],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,30,29],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,30,44],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,30,31],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,30,91],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,30,98],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10":[4,0,2,30,23],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,30,65],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,30,72],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,30,53],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,30,61],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,30,87],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,30,46],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a9b6f5ad1c2698e1476483df81aa66027":[4,0,2,30,12],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63":[4,0,2,30,18],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e":[4,0,2,30,18,1],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7":[4,0,2,30,18,2],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aad921d60486366258809553a3db49a4a":[4,0,2,30,18,0],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa2850681ae5fe8f7c270cca3cba7c929":[4,0,2,30,30],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,30,101],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa4776885b13cc548a9a7ceb926dadc4c":[4,0,2,30,13],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa6d1d50b5ed33be80469110dca13e1fb":[4,0,2,30,5],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf":[4,0,2,30,57],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,30,67],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,30,80],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ab3901a37406c7e6701c6ca8af09dbcce":[4,0,2,30,2],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,30,92],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ab7f99194cd577ccb85fa04440c969e56":[4,0,2,30,9],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a":[4,0,2,30,58],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac106503b2605e6840f7167133df35e31":[4,0,2,30,99],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,30,79],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,30,40],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe":[4,0,2,30,32],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,30,66],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c":[4,0,2,30,90],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,30,81],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad2fecc4ffb7c0a6ac9c96cfa32408919":[4,0,2,30,8],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,30,97],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad9c316b496569c50fec3e42c0b15e8c9":[4,0,2,30,102],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,30,25],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2e847ad7de6d05e9ed95bb1b3aac71":[4,0,2,30,35],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,30,45],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,30,59],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,30,50],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9":[4,0,2,30,70],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3":[4,0,2,30,20],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,30,77],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57":[4,0,2,30,62],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b":[4,0,2,30,94],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,30,34],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c":[4,0,2,30,26],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,30,95],
-"classllfio__v2__xxx_1_1path__handle.html":[4,0,2,32],
-"classllfio__v2__xxx_1_1path__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,32,19],
-"classllfio__v2__xxx_1_1path__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,32,20],
-"classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf":[4,0,2,32,8],
-"classllfio__v2__xxx_1_1path__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,32,23],
-"classllfio__v2__xxx_1_1path__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,32,15],
-"classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8":[4,0,2,32,36],
-"classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,32,41],
-"classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,32,39],
-"classllfio__v2__xxx_1_1path__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,32,47],
-"classllfio__v2__xxx_1_1path__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,32,32],
-"classllfio__v2__xxx_1_1path__handle.html#a2b206c90a903d5a84e07da0f871aa612":[4,0,2,32,4],
-"classllfio__v2__xxx_1_1path__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,32,28],
-"classllfio__v2__xxx_1_1path__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,32,43],
-"classllfio__v2__xxx_1_1path__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,32,22],
-"classllfio__v2__xxx_1_1path__handle.html#a59eb95b11977153d7510d3979defca1f":[4,0,2,32,5],
-"classllfio__v2__xxx_1_1path__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,32,31],
-"classllfio__v2__xxx_1_1path__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,32,29],
-"classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a":[4,0,2,32,35],
-"classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c":[4,0,2,32,6],
-"classllfio__v2__xxx_1_1path__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,32,14],
-"classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,32,40],
-"classllfio__v2__xxx_1_1path__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,32,27],
-"classllfio__v2__xxx_1_1path__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,32,16],
-"classllfio__v2__xxx_1_1path__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,32,24],
-"classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,32,42],
-"classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006":[4,0,2,32,9],
-"classllfio__v2__xxx_1_1path__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,32,33],
-"classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,32,34],
-"classllfio__v2__xxx_1_1path__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,32,26],
-"classllfio__v2__xxx_1_1path__handle.html#a9b073ef087460e1a6975bbb61cdc1572":[4,0,2,32,0],
-"classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e":[4,0,2,32,10],
-"classllfio__v2__xxx_1_1path__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,32,38],
-"classllfio__v2__xxx_1_1path__handle.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,32,44],
-"classllfio__v2__xxx_1_1path__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,32,21],
-"classllfio__v2__xxx_1_1path__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,32,37],
-"classllfio__v2__xxx_1_1path__handle.html#acab4abf41e3a54d6f55ca28da526fc8a":[4,0,2,32,3],
-"classllfio__v2__xxx_1_1path__handle.html#ad011e3d216b5194b92f90502d9bb6b99":[4,0,2,32,2],
-"classllfio__v2__xxx_1_1path__handle.html#ad1e2cc6153a5d55ebaf6f3283f56c6f0":[4,0,2,32,13],
-"classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e":[4,0,2,32,18],
-"classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df":[4,0,2,32,11],
-"classllfio__v2__xxx_1_1path__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,32,46],
-"classllfio__v2__xxx_1_1path__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,32,25],
-"classllfio__v2__xxx_1_1path__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,32,30],
-"classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,32,17],
-"classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc":[4,0,2,32,12],
-"classllfio__v2__xxx_1_1path__handle.html#aec00c90b9b840886be11f846d161415b":[4,0,2,32,1],
-"classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea":[4,0,2,32,7],
-"classllfio__v2__xxx_1_1path__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,32,45],
-"classllfio__v2__xxx_1_1path__view.html":[4,0,2,34],
-"classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf":[4,0,2,34,39],
-"classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf":[4,0,2,34,40],
-"classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf":[4,0,2,34,41],
-"classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646":[4,0,2,34,43],
-"classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400":[4,0,2,34,51]
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,27,4,2],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,27,4,0],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,27,4,3],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,27,4,1],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,27,4,4],
+"classllfio__v2__xxx_1_1io__handle.html":[4,0,2,28],
+"classllfio__v2__xxx_1_1io__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,28,45],
+"classllfio__v2__xxx_1_1io__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,28,46],
+"classllfio__v2__xxx_1_1io__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,28,51],
+"classllfio__v2__xxx_1_1io__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,28,47],
+"classllfio__v2__xxx_1_1io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,28,34],
+"classllfio__v2__xxx_1_1io__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,28,1],
+"classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60":[4,0,2,28,23],
+"classllfio__v2__xxx_1_1io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,28,76],
+"classllfio__v2__xxx_1_1io__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,28,84],
+"classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,28,74],
+"classllfio__v2__xxx_1_1io__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,28,94],
+"classllfio__v2__xxx_1_1io__handle.html#a1e699aaa8e6f592bdf8afb4b12bfe5f3":[4,0,2,28,11],
+"classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f":[4,0,2,28,30],
+"classllfio__v2__xxx_1_1io__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,28,62],
+"classllfio__v2__xxx_1_1io__handle.html#a239fa42e0e0250255e21e11c6ca71afe":[4,0,2,28,5],
+"classllfio__v2__xxx_1_1io__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,28,81],
+"classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,28,77],
+"classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737":[4,0,2,28,21],
+"classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,28,41],
+"classllfio__v2__xxx_1_1io__handle.html#a3168ab42931fef872ae8925188956441":[4,0,2,28,3],
+"classllfio__v2__xxx_1_1io__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,28,90],
+"classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785":[4,0,2,28,19],
+"classllfio__v2__xxx_1_1io__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,28,57],
+"classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,28,40],
+"classllfio__v2__xxx_1_1io__handle.html#a3d1224d5941b8c70761b2dcc2ba31217":[4,0,2,28,15],
+"classllfio__v2__xxx_1_1io__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,28,73],
+"classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380":[4,0,2,28,28],
+"classllfio__v2__xxx_1_1io__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,28,78],
+"classllfio__v2__xxx_1_1io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,28,49],
+"classllfio__v2__xxx_1_1io__handle.html#a4fc8d70aa6805d7ea2ee9a48a19ce107":[4,0,2,28,8],
+"classllfio__v2__xxx_1_1io__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,28,52],
+"classllfio__v2__xxx_1_1io__handle.html#a5422bf3cbcf7107722ed20df04ae8eb0":[4,0,2,28,9],
+"classllfio__v2__xxx_1_1io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,28,61],
+"classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,28,43],
+"classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f":[4,0,2,28,68],
+"classllfio__v2__xxx_1_1io__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,28,26],
+"classllfio__v2__xxx_1_1io__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,28,58],
+"classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,28,37],
+"classllfio__v2__xxx_1_1io__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,28,25],
+"classllfio__v2__xxx_1_1io__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,28,13],
+"classllfio__v2__xxx_1_1io__handle.html#a705f1879263ddec8ade296636aec07ea":[4,0,2,28,6],
+"classllfio__v2__xxx_1_1io__handle.html#a7117e0e4327c09103c1f27a9363c8b24":[4,0,2,28,17],
+"classllfio__v2__xxx_1_1io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,28,33],
+"classllfio__v2__xxx_1_1io__handle.html#a71ca42d3fa4ca70075678e5ab4fe8200":[4,0,2,28,91],
+"classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,28,75],
+"classllfio__v2__xxx_1_1io__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,28,56],
+"classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,28,89],
+"classllfio__v2__xxx_1_1io__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,28,82],
+"classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4":[4,0,2,28,67],
+"classllfio__v2__xxx_1_1io__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,28,35],
+"classllfio__v2__xxx_1_1io__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,28,42],
+"classllfio__v2__xxx_1_1io__handle.html#a8896fe978137f142648901cdfe7ab71f":[4,0,2,28,4],
+"classllfio__v2__xxx_1_1io__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,28,79],
+"classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2":[4,0,2,28,39],
+"classllfio__v2__xxx_1_1io__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,28,63],
+"classllfio__v2__xxx_1_1io__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,28,66],
+"classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,28,32],
+"classllfio__v2__xxx_1_1io__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,28,55],
+"classllfio__v2__xxx_1_1io__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,28,14],
+"classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,28,31],
+"classllfio__v2__xxx_1_1io__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,28,92],
+"classllfio__v2__xxx_1_1io__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,28,44],
+"classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,28,64],
+"classllfio__v2__xxx_1_1io__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,28,36],
+"classllfio__v2__xxx_1_1io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,28,70],
+"classllfio__v2__xxx_1_1io__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,28,71],
+"classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762":[4,0,2,28,16],
+"classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,28,88],
+"classllfio__v2__xxx_1_1io__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,28,83],
+"classllfio__v2__xxx_1_1io__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,28,48],
+"classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,28,65],
+"classllfio__v2__xxx_1_1io__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,28,69],
+"classllfio__v2__xxx_1_1io__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,28,53],
+"classllfio__v2__xxx_1_1io__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,28,0],
+"classllfio__v2__xxx_1_1io__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,28,59],
+"classllfio__v2__xxx_1_1io__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,28,86],
+"classllfio__v2__xxx_1_1io__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,28,80],
+"classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,28,22],
+"classllfio__v2__xxx_1_1io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,28,93],
+"classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,28,29],
+"classllfio__v2__xxx_1_1io__handle.html#adcd420c097db894ebea4ec6777e17233":[4,0,2,28,10],
+"classllfio__v2__xxx_1_1io__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,28,54],
+"classllfio__v2__xxx_1_1io__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,28,50],
+"classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,28,72],
+"classllfio__v2__xxx_1_1io__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,28,60],
+"classllfio__v2__xxx_1_1io__handle.html#ae2956bce00d899553c80f9de7f585984":[4,0,2,28,12],
+"classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3":[4,0,2,28,24],
+"classllfio__v2__xxx_1_1io__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,28,87],
+"classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7":[4,0,2,28,20],
+"classllfio__v2__xxx_1_1io__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,28,27],
+"classllfio__v2__xxx_1_1io__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,28,85],
+"classllfio__v2__xxx_1_1io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,28,38],
+"classllfio__v2__xxx_1_1io__handle.html#af74f2ad7f0cffb4161d0bd137710436c":[4,0,2,28,7],
+"classllfio__v2__xxx_1_1io__handle.html#afaacc924402e14369c413f47c7811621":[4,0,2,28,2],
+"classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367":[4,0,2,28,18],
+"classllfio__v2__xxx_1_1io__multiplexer.html":[4,0,2,29],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,29,40],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3":[4,0,2,29,34],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,29,45],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,29,57],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,29,53],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6":[4,0,2,29,44],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,29,27],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,29,77],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c":[4,0,2,29,43],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,29,75],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,29,81],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,29,68],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a341cfbdcd8bda7a78a5cb5fa31a28977":[4,0,2,29,23],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a346290c369da8294d0c516c1c57b01e6":[4,0,2,29,18],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,29,63],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d":[4,0,2,29,39],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10":[4,0,2,29,41],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95":[4,0,2,29,30],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a4716696b8700953889006251e0678aa4":[4,0,2,29,78],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,29,55],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a501aa723172f6852e82738b0969278ae":[4,0,2,29,58],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a58197ed3d18b980f4edda260c0776848":[4,0,2,29,20],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,29,67],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,29,33],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a65c43477b8f59dbf9306c28d07bbeccd":[4,0,2,29,16],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a673284f5df893f1adb8bda36dd805eb2":[4,0,2,29,22],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff":[4,0,2,29,29],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5":[4,0,2,29,79],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,29,64],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a6ce55ea40b3a0c313f3cb34bb59750f0":[4,0,2,29,49],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354":[4,0,2,29,11],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,29,26],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,29,76],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a768e40bcc76ee49752a8228a5806ecd3":[4,0,2,29,15],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,29,62],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a798fa51a935da9b16ed7bb565b3a4c11":[4,0,2,29,48],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a7a706dea29b89267219c6e44ac18ecbe":[4,0,2,29,17],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087":[4,0,2,29,42],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,29,28],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2":[4,0,2,29,38],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,29,69],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,29,70],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,29,61],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3":[4,0,2,29,19],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a9a5833588ff0afa615396ab540cd04ce":[4,0,2,29,12],
+"classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c":[4,0,2,29,37],
+"classllfio__v2__xxx_1_1io__multiplexer.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,29,74],
+"classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029":[4,0,2,29,35],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ab5fe3c6f6ff89dd13901aa756af8886b":[4,0,2,29,72],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484":[4,0,2,29,46],
+"classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051":[4,0,2,29,13],
+"classllfio__v2__xxx_1_1io__multiplexer.html#abf6c0f99690bf8b5f2159e53e8ce0e5a":[4,0,2,29,25],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ac0ca2e5eed9d06d2647dd0d2367f820c":[4,0,2,29,71],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,29,54],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,29,73],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,29,59],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,29,65],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26":[4,0,2,29,21],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,29,21,2],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c":[4,0,2,29,21,0],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345":[4,0,2,29,21,5],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c":[4,0,2,29,21,1],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1":[4,0,2,29,21,4],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,29,21,3],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18":[4,0,2,29,51],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39":[4,0,2,29,31],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,29,80],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ad7912947fb8fe6270535eb6bddba50d4":[4,0,2,29,50],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ad86991607675e67ba483f11eacce48cf":[4,0,2,29,24],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,29,60],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,29,56],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,29,66],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ae1186f1839592b04df0ff3e83a237ad6":[4,0,2,29,14],
+"classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970":[4,0,2,29,36],
+"classllfio__v2__xxx_1_1io__multiplexer.html#aea43917ff5cc28f3da3c622c0b3382c4":[4,0,2,29,47],
+"classllfio__v2__xxx_1_1io__multiplexer.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,29,32],
+"classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7":[4,0,2,29,52],
+"classllfio__v2__xxx_1_1lockable__io__handle.html":[4,0,2,30],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,30,47],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,30,48],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,30,53],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,30,49],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4":[4,0,2,30,21],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,30,36],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,30,2],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c":[4,0,2,30,67],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60":[4,0,2,30,25],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,30,83],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a14e7629c39894341f4347d7d2ba963e2":[4,0,2,30,5],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a1985e0db6ebc628bb95e04929aa31734":[4,0,2,30,13],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,30,96],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,30,81],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,30,108],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f":[4,0,2,30,32],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,30,64],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,30,88],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf":[4,0,2,30,19],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,30,84],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,30,43],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,30,105],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,30,59],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,30,42],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a36cbd5b657917feeaaf85d8d3d0defb8":[4,0,2,30,6],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a393d056936c3f262aff76ed406858a95":[4,0,2,30,90],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,30,80],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a4379e3f84b913f606bb2ec6a194d4380":[4,0,2,30,30],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4":[4,0,2,30,75],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40":[4,0,2,30,66],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,30,85],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b":[4,0,2,30,17],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,30,51],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,30,54],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f":[4,0,2,30,22],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287":[4,0,2,30,101],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180":[4,0,2,30,100],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a57efa0829192c0cdfccbaf04ff6b4aac":[4,0,2,30,11],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,30,63],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,30,45],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,30,28],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,30,60],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,30,39],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,30,27],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a6b03587e739bdd91a0f0c2d1ea7d2759":[4,0,2,30,10],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a6e4f645419e6bc0fdc7a98adacd6a55e":[4,0,2,30,9],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e":[4,0,2,30,89],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,30,35],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,30,82],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a7727a23852d90bd5ea4e47044d20cfee":[4,0,2,30,92],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,30,58],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,30,104],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,30,94],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a79e1ddfc16d4d99a66f8a4781aeca28d":[4,0,2,30,14],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a7ad11a1c8d7eb3fd6e8b86e9b71119b6":[4,0,2,30,4],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,30,37],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a85be66d50d293a1d18d290f32256d8d2":[4,0,2,30,7],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,30,44],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31":[4,0,2,30,74],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,30,86],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a8f174dc8dd23664251ee2a4f767283c2":[4,0,2,30,41],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,30,65],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,30,73],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a9582b139a2b92ff13708a4de547c5605":[4,0,2,30,68],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,30,34],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,30,57],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a9992932579bf0c1a0baec461ba06421b":[4,0,2,30,8],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,30,15],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,30,33],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,30,106]
};
diff --git a/navtreeindex5.js b/navtreeindex5.js
index 2e2a9eea..16d27f4e 100644
--- a/navtreeindex5.js
+++ b/navtreeindex5.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX5 =
{
-"classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca":[4,0,2,34,0],
-"classllfio__v2__xxx_1_1path__view.html#a1ac23fffe202146b4aecfb82a99c9a77":[4,0,2,34,23],
-"classllfio__v2__xxx_1_1path__view.html#a1b128bc55c1c093b9b46de07b7c1ced7":[4,0,2,34,9],
-"classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e":[4,0,2,34,30],
-"classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453":[4,0,2,34,25],
-"classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e":[4,0,2,34,26],
-"classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257":[4,0,2,34,35],
-"classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501":[4,0,2,34,24],
-"classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562":[4,0,2,34,47],
-"classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042":[4,0,2,34,22],
-"classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28":[4,0,2,34,13],
-"classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f":[4,0,2,34,46],
-"classllfio__v2__xxx_1_1path__view.html#a4578d185306681fe2bc7996b53396d0f":[4,0,2,34,29],
-"classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba":[4,0,2,34,5],
-"classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266":[4,0,2,34,17],
-"classllfio__v2__xxx_1_1path__view.html#a512962b9588d3d4d15f366ae3cb09d34":[4,0,2,34,36],
-"classllfio__v2__xxx_1_1path__view.html#a565624fc24e6a6d57d38d0471e91cd84":[4,0,2,34,58],
-"classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af":[4,0,2,34,52],
-"classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a":[4,0,2,34,53],
-"classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23":[4,0,2,34,15],
-"classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891":[4,0,2,34,20],
-"classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d":[4,0,2,34,12],
-"classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f":[4,0,2,34,44],
-"classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a":[4,0,2,34,4],
-"classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e":[4,0,2,34,16],
-"classllfio__v2__xxx_1_1path__view.html#a867468c27c376aa62c4ecc5413367bba":[4,0,2,34,59],
-"classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032":[4,0,2,34,49],
-"classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8":[4,0,2,34,54],
-"classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da":[4,0,2,34,21],
-"classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339":[4,0,2,34,8],
-"classllfio__v2__xxx_1_1path__view.html#a99db0dd434afa24ee6f2b6ae9287ecb2":[4,0,2,34,18],
-"classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a":[4,0,2,34,11],
-"classllfio__v2__xxx_1_1path__view.html#a9c02c1b6cc56f8221abea75a1e92a776":[4,0,2,34,56],
-"classllfio__v2__xxx_1_1path__view.html#a9ec27b9ac42042eb58d44837bdc1773c":[4,0,2,34,57],
-"classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86":[4,0,2,34,37],
-"classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045":[4,0,2,34,10],
-"classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb":[4,0,2,34,14],
-"classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14":[4,0,2,34,55],
-"classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d":[4,0,2,34,48],
-"classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a":[4,0,2,34,28],
-"classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee":[4,0,2,34,50],
-"classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb":[4,0,2,34,6],
-"classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f":[4,0,2,34,34],
-"classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956":[4,0,2,34,32],
-"classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025":[4,0,2,34,3],
-"classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a":[4,0,2,34,19],
-"classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1":[4,0,2,34,27],
-"classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a":[4,0,2,34,45],
-"classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd":[4,0,2,34,1],
-"classllfio__v2__xxx_1_1path__view.html#ae1cf7b922e5bb83510b787b64479d304":[4,0,2,34,7],
-"classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca":[4,0,2,34,31],
-"classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30":[4,0,2,34,38],
-"classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8":[4,0,2,34,2],
-"classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad":[4,0,2,34,33],
-"classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56":[4,0,2,34,42],
-"classllfio__v2__xxx_1_1path__view__component.html":[4,0,2,35],
-"classllfio__v2__xxx_1_1path__view__component.html#a026f3fd0f948212028182d1b501dffbb":[4,0,2,35,5],
-"classllfio__v2__xxx_1_1path__view__component.html#a03281bf06f85b14622386bd87b9a947e":[4,0,2,35,28],
-"classllfio__v2__xxx_1_1path__view__component.html#a1531ffbbfb4d089a18f09809290190cc":[4,0,2,35,27],
-"classllfio__v2__xxx_1_1path__view__component.html#a18615f1a2c588d52c8d508d55ed3e7aa":[4,0,2,35,21],
-"classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f":[4,0,2,35,18],
-"classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58":[4,0,2,35,8],
-"classllfio__v2__xxx_1_1path__view__component.html#a30afd0eb0ee1dfcc7dd2752cc5770c77":[4,0,2,35,20],
-"classllfio__v2__xxx_1_1path__view__component.html#a370fe50713921108205a445a90b96ea1":[4,0,2,35,22],
-"classllfio__v2__xxx_1_1path__view__component.html#a38ff18893dfc84c562fb36c299702bf5":[4,0,2,35,1],
-"classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2":[4,0,2,35,7],
-"classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181":[4,0,2,35,17],
-"classllfio__v2__xxx_1_1path__view__component.html#a4b9a5f0abe97449212fac7607b5dadd5":[4,0,2,35,14],
-"classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff":[4,0,2,35,10],
-"classllfio__v2__xxx_1_1path__view__component.html#a72f7bc6b8dd06f719f83732bc91f36e0":[4,0,2,35,2],
-"classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a":[4,0,2,35,0],
-"classllfio__v2__xxx_1_1path__view__component.html#a7dfa033bda230ae9a1fdd60a17fb7880":[4,0,2,35,3],
-"classllfio__v2__xxx_1_1path__view__component.html#a93aef9d3a7c37537ec71bd788d0f7272":[4,0,2,35,4],
-"classllfio__v2__xxx_1_1path__view__component.html#a9c02c1b6cc56f8221abea75a1e92a776":[4,0,2,35,19],
-"classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec":[4,0,2,35,13],
-"classllfio__v2__xxx_1_1path__view__component.html#aac07b365ff507ce5493fdc608d48329c":[4,0,2,35,15],
-"classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4":[4,0,2,35,11],
-"classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591":[4,0,2,35,9],
-"classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1":[4,0,2,35,12],
-"classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d":[4,0,2,35,16],
-"classllfio__v2__xxx_1_1path__view__component.html#ac3a413fa5bbe8dbe10765bc790c1b762":[4,0,2,35,25],
-"classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204":[4,0,2,35,6],
-"classllfio__v2__xxx_1_1path__view__component.html#ad10ef737f6f91fc67cc2c26326b45c2f":[4,0,2,35,23],
-"classllfio__v2__xxx_1_1path__view__component.html#ad560fb8127764a5cf07357c07a35d8b0":[4,0,2,35,26],
-"classllfio__v2__xxx_1_1path__view__component.html#ad71dcb87f377236474b948d621b3b2a8":[4,0,2,35,24],
-"classllfio__v2__xxx_1_1section__handle.html":[4,0,2,36],
-"classllfio__v2__xxx_1_1section__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,36,18],
-"classllfio__v2__xxx_1_1section__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,36,19],
-"classllfio__v2__xxx_1_1section__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,36,22],
-"classllfio__v2__xxx_1_1section__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,36,12],
-"classllfio__v2__xxx_1_1section__handle.html#a0eef87db368c1c6b6150ee4d5392c54b":[4,0,2,36,6],
-"classllfio__v2__xxx_1_1section__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,36,43],
-"classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441":[4,0,2,36,34],
-"classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,36,40],
-"classllfio__v2__xxx_1_1section__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,36,53],
-"classllfio__v2__xxx_1_1section__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,36,32],
-"classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9":[4,0,2,36,9],
-"classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733":[4,0,2,36,45],
-"classllfio__v2__xxx_1_1section__handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,36,1],
-"classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d":[4,0,2,36,7],
-"classllfio__v2__xxx_1_1section__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,36,28],
-"classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82":[4,0,2,36,23],
-"classllfio__v2__xxx_1_1section__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,36,46],
-"classllfio__v2__xxx_1_1section__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,36,21],
-"classllfio__v2__xxx_1_1section__handle.html#a508cd333b972b87a6e0dd63c4d05d30b":[4,0,2,36,48],
-"classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab":[4,0,2,36,38],
-"classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b":[4,0,2,36,37],
-"classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a":[4,0,2,36,36],
-"classllfio__v2__xxx_1_1section__handle.html#a5b3323b6f5554b863c7f104de9519c86":[4,0,2,36,49],
-"classllfio__v2__xxx_1_1section__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,36,31],
-"classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8":[4,0,2,36,14],
-"classllfio__v2__xxx_1_1section__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,36,29],
-"classllfio__v2__xxx_1_1section__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,36,11],
-"classllfio__v2__xxx_1_1section__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,36,41],
-"classllfio__v2__xxx_1_1section__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,36,27],
-"classllfio__v2__xxx_1_1section__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,36,13],
-"classllfio__v2__xxx_1_1section__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,36,24],
-"classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00":[4,0,2,36,44],
-"classllfio__v2__xxx_1_1section__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,36,33],
-"classllfio__v2__xxx_1_1section__handle.html#a91a4e4110fe6ed6358de00de3ae934d1":[4,0,2,36,0],
-"classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,36,35],
-"classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8":[4,0,2,36,8],
-"classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d":[4,0,2,36,17],
-"classllfio__v2__xxx_1_1section__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,36,26],
-"classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4":[4,0,2,36,42],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,36,5],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,36,5,1],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,36,5,0],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,36,5,6],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,36,5,3],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,36,5,2],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,36,5,4],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,36,5,5],
-"classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80":[4,0,2,36,47],
-"classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20":[4,0,2,36,10],
-"classllfio__v2__xxx_1_1section__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,36,20],
-"classllfio__v2__xxx_1_1section__handle.html#ad057ca569878e127389457e80e0f393d":[4,0,2,36,39],
-"classllfio__v2__xxx_1_1section__handle.html#ad623089ad47d566d5eeaefe202dbf3a0":[4,0,2,36,2],
-"classllfio__v2__xxx_1_1section__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,36,52],
-"classllfio__v2__xxx_1_1section__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,36,25],
-"classllfio__v2__xxx_1_1section__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,36,30],
-"classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a":[4,0,2,36,15],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,36,3],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,36,3,3],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,36,3,1],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,36,3,0],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,36,3,6],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,36,3,5],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,36,3,2],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,36,3,7],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,36,3,4],
-"classllfio__v2__xxx_1_1section__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,36,16],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,36,4],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,36,4,2],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,36,4,0],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,36,4,3],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,36,4,1],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,36,4,4],
-"classllfio__v2__xxx_1_1section__handle.html#aff579de98516b809327d4443ad8eb84a":[4,0,2,36,51],
-"classllfio__v2__xxx_1_1section__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,36,50],
-"classllfio__v2__xxx_1_1symlink__handle.html":[4,0,2,39],
-"classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8":[4,0,2,39,63],
-"classllfio__v2__xxx_1_1symlink__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,39,33],
-"classllfio__v2__xxx_1_1symlink__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,39,36],
-"classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf":[4,0,2,39,19],
-"classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2":[4,0,2,39,7],
-"classllfio__v2__xxx_1_1symlink__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,39,27],
-"classllfio__v2__xxx_1_1symlink__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,39,57],
-"classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6":[4,0,2,39,61],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002":[4,0,2,39,18],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,39,18,0],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939":[4,0,2,39,18,2],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559":[4,0,2,39,18,1],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a":[4,0,2,39,18,3],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,39,17],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,39,54],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,39,69],
-"classllfio__v2__xxx_1_1symlink__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,39,45],
-"classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3":[4,0,2,39,31],
-"classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d":[4,0,2,39,20],
-"classllfio__v2__xxx_1_1symlink__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,39,41],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,39,60],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4970f4d5ce8405cce62715af55b0e9f0":[4,0,2,39,8],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b":[4,0,2,39,48],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,39,35],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,39,66],
-"classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf":[4,0,2,39,49],
-"classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a":[4,0,2,39,15],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd":[4,0,2,39,5],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,39,44],
-"classllfio__v2__xxx_1_1symlink__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,39,42],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,39,26],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447":[4,0,2,39,64],
-"classllfio__v2__xxx_1_1symlink__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,39,56],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,39,40],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,39,28],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,39,37],
-"classllfio__v2__xxx_1_1symlink__handle.html#a82746ab06b526c8049aed722e6eeaa88":[4,0,2,39,12],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,39,68],
-"classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,39,50],
-"classllfio__v2__xxx_1_1symlink__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,39,46],
-"classllfio__v2__xxx_1_1symlink__handle.html#a910d8c7337384d2a04f030366757fa62":[4,0,2,39,11],
-"classllfio__v2__xxx_1_1symlink__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,39,47],
-"classllfio__v2__xxx_1_1symlink__handle.html#a965c39e7c0278de63cb33b7e0b5d0bf5":[4,0,2,39,9],
-"classllfio__v2__xxx_1_1symlink__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,39,62],
-"classllfio__v2__xxx_1_1symlink__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,39,39],
-"classllfio__v2__xxx_1_1symlink__handle.html#a9bb14bb85eec86532bb63178aca00580":[4,0,2,39,14],
-"classllfio__v2__xxx_1_1symlink__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,39,52],
-"classllfio__v2__xxx_1_1symlink__handle.html#aa843ccfa486fe6d7d2772988d08d5e72":[4,0,2,39,6],
-"classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da":[4,0,2,39,53],
-"classllfio__v2__xxx_1_1symlink__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,39,59],
-"classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5":[4,0,2,39,30],
-"classllfio__v2__xxx_1_1symlink__handle.html#ab18ef0717520ff000a975f26c9d48c1b":[4,0,2,39,13],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f":[4,0,2,39,22],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1":[4,0,2,39,23],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,39,58],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,39,34],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,39,51],
-"classllfio__v2__xxx_1_1symlink__handle.html#acebc87ad5ec328f4d2395d5b8905ee0a":[4,0,2,39,24],
-"classllfio__v2__xxx_1_1symlink__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,39,67],
-"classllfio__v2__xxx_1_1symlink__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,39,25],
-"classllfio__v2__xxx_1_1symlink__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,39,38],
-"classllfio__v2__xxx_1_1symlink__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,39,43],
-"classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746":[4,0,2,39,32],
-"classllfio__v2__xxx_1_1symlink__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,39,29],
-"classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf":[4,0,2,39,21],
-"classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b":[4,0,2,39,16],
-"classllfio__v2__xxx_1_1symlink__handle.html#afd78d540ca27fb62d96fb5444353ba42":[4,0,2,39,10],
-"classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c":[4,0,2,39,55],
-"classllfio__v2__xxx_1_1symlink__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,39,65],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html":[4,0,2,3,0],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a044de0369e4922815dd4b0b9b9358596":[4,0,2,3,0,15],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a119e460ac0d6e5987774e6e1e6f0b002":[4,0,2,3,0,8],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a1246b56d936c565437290594290e4224":[4,0,2,3,0,10],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a14fbf76cf636d64fc7a609b3949c3639":[4,0,2,3,0,13],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2e69dcb54c7f3b4a52029132c8f3e69a":[4,0,2,3,0,6],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2fdf39a4237fa1d2157f2ca8fd7d1d35":[4,0,2,3,0,16],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a60c5717e35b270b8d84d15ae368868ad":[4,0,2,3,0,18],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a6352a99ad2aff8c64948ac89de105de7":[4,0,2,3,0,7],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a719169e26237ebeeecd9329e2a21d0c3":[4,0,2,3,0,9],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a7e5cee674068d9a88f7f61b4c96764da":[4,0,2,3,0,2],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a":[4,0,2,3,0,12],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ac3ac5503b4fd6ac4331c2240bddd5a0e":[4,0,2,3,0,3],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#acaa7851337ee7c96e8e77e7eb8e539ee":[4,0,2,3,0,5],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ad5ddc986164ed591f699a0c82ed5731b":[4,0,2,3,0,4],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adc8a4e95efecbf9e176103d9cfa88a2a":[4,0,2,3,0,11],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adfb76278d1a55da5cb50e751a9ff32e6":[4,0,2,3,0,1],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ae57116bbdf184521e4307176b119ef0d":[4,0,2,3,0,14],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aecc7f10d71f5c3888ec859095f137423":[4,0,2,3,0,17],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html":[4,0,2,3,1]
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,30,46],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa225fc493078b94b592c4e740367c0ac":[4,0,2,30,3],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721":[4,0,2,30,70],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,30,71],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,30,38],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,30,77],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d":[4,0,2,30,69],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,30,78],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb":[4,0,2,30,20],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,30,103],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,30,95],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,30,50],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,30,72],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,30,76],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,30,55],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac53a00a3f12bd0125122fd6b7ceebe66":[4,0,2,30,16],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,30,1],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,30,61],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,30,98],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,30,87],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,30,24],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e":[4,0,2,30,23],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,30,107],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad77c47160cd14c10f2732136c22b7205":[4,0,2,30,12],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64":[4,0,2,30,93],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,30,31],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,30,56],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,30,52],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,30,79],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,30,62],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae1cdbb1cceb45b7a948b1a4bbe6942d4":[4,0,2,30,18],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002":[4,0,2,30,91],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3":[4,0,2,30,26],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,30,99],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,30,29],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,30,97],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,30,40],
+"classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703":[4,0,2,30,102],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html":[4,0,2,30,0],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a11eb347744e5548b52a170cb76a32ce8":[4,0,2,30,0,8],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4":[4,0,2,30,0,6],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a243bbb198c4837fba06620578b5a8cdb":[4,0,2,30,0,1],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e":[4,0,2,30,0,5],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a5e10d02af29690672917c83a7ab2eeee":[4,0,2,30,0,4],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3":[4,0,2,30,0,9],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7":[4,0,2,30,0,2],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a835d207be335fb4f449d1b68d8c0260a":[4,0,2,30,0,0],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04":[4,0,2,30,0,11],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981":[4,0,2,30,0,10],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#adf16f67f49931b3442ad14f65e3625a5":[4,0,2,30,0,13],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f":[4,0,2,30,0,7],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb":[4,0,2,30,0,12],
+"classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e":[4,0,2,30,0,3],
+"classllfio__v2__xxx_1_1log__level__guard.html":[4,0,2,31],
+"classllfio__v2__xxx_1_1log__level__guard.html#a22863db838ebd313c56188bdf63b3d77":[4,0,2,31,6],
+"classllfio__v2__xxx_1_1log__level__guard.html#a329bd8d4a8bae71dadf0346ed63dd27b":[4,0,2,31,2],
+"classllfio__v2__xxx_1_1log__level__guard.html#a363700d0fae71d029230a2b077f903d9":[4,0,2,31,4],
+"classllfio__v2__xxx_1_1log__level__guard.html#a642b39b0a98d74f02405375cffa63154":[4,0,2,31,3],
+"classllfio__v2__xxx_1_1log__level__guard.html#a6be4d7b9067148f3ae8d0b2a98396a65":[4,0,2,31,1],
+"classllfio__v2__xxx_1_1log__level__guard.html#adeabfd3bc148b7d514b5b99ce518c189":[4,0,2,31,5],
+"classllfio__v2__xxx_1_1log__level__guard.html#ae70161332cc20da4a976d50840bb928f":[4,0,2,31,0],
+"classllfio__v2__xxx_1_1map__handle.html":[4,0,2,32],
+"classllfio__v2__xxx_1_1map__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,32,50],
+"classllfio__v2__xxx_1_1map__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,32,53],
+"classllfio__v2__xxx_1_1map__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,32,58],
+"classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2":[4,0,2,32,82],
+"classllfio__v2__xxx_1_1map__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,32,54],
+"classllfio__v2__xxx_1_1map__handle.html#a04d5b12318493f32de67854714001ab2":[4,0,2,32,127],
+"classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11":[4,0,2,32,93],
+"classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,32,35],
+"classllfio__v2__xxx_1_1map__handle.html#a0b6166d8c12c8b8430d6204dc701bf25":[4,0,2,32,135],
+"classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f":[4,0,2,32,126],
+"classllfio__v2__xxx_1_1map__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,32,1],
+"classllfio__v2__xxx_1_1map__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c":[4,0,2,32,74],
+"classllfio__v2__xxx_1_1map__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,32,96],
+"classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead":[4,0,2,32,95],
+"classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d":[4,0,2,32,30],
+"classllfio__v2__xxx_1_1map__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,32,112],
+"classllfio__v2__xxx_1_1map__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,32,137],
+"classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a":[4,0,2,32,101],
+"classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506":[4,0,2,32,100],
+"classllfio__v2__xxx_1_1map__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,32,70],
+"classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195":[4,0,2,32,83],
+"classllfio__v2__xxx_1_1map__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,32,104],
+"classllfio__v2__xxx_1_1map__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,32,97],
+"classllfio__v2__xxx_1_1map__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,32,45],
+"classllfio__v2__xxx_1_1map__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,32,124],
+"classllfio__v2__xxx_1_1map__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,32,125],
+"classllfio__v2__xxx_1_1map__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,32,65],
+"classllfio__v2__xxx_1_1map__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,32,44],
+"classllfio__v2__xxx_1_1map__handle.html#a393d056936c3f262aff76ed406858a95":[4,0,2,32,106],
+"classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d":[4,0,2,32,52],
+"classllfio__v2__xxx_1_1map__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,32,91],
+"classllfio__v2__xxx_1_1map__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,32,92],
+"classllfio__v2__xxx_1_1map__handle.html#a433596cf8fbaf7fa81c6ff8807c18b4e":[4,0,2,32,18],
+"classllfio__v2__xxx_1_1map__handle.html#a469019e3bbcd7b37499b8604af713b40":[4,0,2,32,73],
+"classllfio__v2__xxx_1_1map__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,32,99],
+"classllfio__v2__xxx_1_1map__handle.html#a486f8bbb3ea986b6f2e877d9ea5ba81d":[4,0,2,32,136],
+"classllfio__v2__xxx_1_1map__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,32,56],
+"classllfio__v2__xxx_1_1map__handle.html#a4e59feb68c5df85b377be5dd3ee563ab":[4,0,2,32,4],
+"classllfio__v2__xxx_1_1map__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,32,59],
+"classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75":[4,0,2,32,51],
+"classllfio__v2__xxx_1_1map__handle.html#a5572735777dfdd3f7c5c1f6dc8260287":[4,0,2,32,117],
+"classllfio__v2__xxx_1_1map__handle.html#a561ef83b4fe400b59c9d92444913c180":[4,0,2,32,116],
+"classllfio__v2__xxx_1_1map__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,32,69],
+"classllfio__v2__xxx_1_1map__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,32,47],
+"classllfio__v2__xxx_1_1map__handle.html#a6508b68a3a2748d16ba58c5052fb1149":[4,0,2,32,128],
+"classllfio__v2__xxx_1_1map__handle.html#a67fb29deeca27a58ca3d78c792ca5435":[4,0,2,32,132],
+"classllfio__v2__xxx_1_1map__handle.html#a68216d4c582fc817fa86229dce397146":[4,0,2,32,130],
+"classllfio__v2__xxx_1_1map__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,32,26],
+"classllfio__v2__xxx_1_1map__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,32,66],
+"classllfio__v2__xxx_1_1map__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,32,40],
+"classllfio__v2__xxx_1_1map__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,32,25],
+"classllfio__v2__xxx_1_1map__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e":[4,0,2,32,105],
+"classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,32,34],
+"classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc":[4,0,2,32,84],
+"classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737":[4,0,2,32,32],
+"classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,32,94],
+"classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5":[4,0,2,32,28],
+"classllfio__v2__xxx_1_1map__handle.html#a7727a23852d90bd5ea4e47044d20cfee":[4,0,2,32,108],
+"classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887":[4,0,2,32,60],
+"classllfio__v2__xxx_1_1map__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,32,64],
+"classllfio__v2__xxx_1_1map__handle.html#a776d7d6acd8d80b54c086eafbc1d57c9":[4,0,2,32,6],
+"classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,32,122],
+"classllfio__v2__xxx_1_1map__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,32,123],
+"classllfio__v2__xxx_1_1map__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,32,110],
+"classllfio__v2__xxx_1_1map__handle.html#a79e1ddfc16d4d99a66f8a4781aeca28d":[4,0,2,32,13],
+"classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf":[4,0,2,32,98],
+"classllfio__v2__xxx_1_1map__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,32,36],
+"classllfio__v2__xxx_1_1map__handle.html#a80e2ea0a3d7289b55911375fe44cf1fd":[4,0,2,32,3],
+"classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b":[4,0,2,32,20],
+"classllfio__v2__xxx_1_1map__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,32,46],
+"classllfio__v2__xxx_1_1map__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,32,102],
+"classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c":[4,0,2,32,19],
+"classllfio__v2__xxx_1_1map__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,32,71],
+"classllfio__v2__xxx_1_1map__handle.html#a936a1df99ed13959c716f434fec642a0":[4,0,2,32,12],
+"classllfio__v2__xxx_1_1map__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,32,80],
+"classllfio__v2__xxx_1_1map__handle.html#a9582b139a2b92ff13708a4de547c5605":[4,0,2,32,75],
+"classllfio__v2__xxx_1_1map__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,32,33],
+"classllfio__v2__xxx_1_1map__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,32,63],
+"classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7":[4,0,2,32,49],
+"classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198":[4,0,2,32,81],
+"classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279":[4,0,2,32,17],
+"classllfio__v2__xxx_1_1map__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,32,14],
+"classllfio__v2__xxx_1_1map__handle.html#a9ff113f78e71337f78c9139ca202fe6a":[4,0,2,32,133],
+"classllfio__v2__xxx_1_1map__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,32,31],
+"classllfio__v2__xxx_1_1map__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,32,129],
+"classllfio__v2__xxx_1_1map__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,32,48],
+"classllfio__v2__xxx_1_1map__handle.html#aa24a432125e5b51b13f21d9b74fa4721":[4,0,2,32,77],
+"classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4":[4,0,2,32,21],
+"classllfio__v2__xxx_1_1map__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,32,78],
+"classllfio__v2__xxx_1_1map__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,32,39],
+"classllfio__v2__xxx_1_1map__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,32,86],
+"classllfio__v2__xxx_1_1map__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d":[4,0,2,32,76],
+"classllfio__v2__xxx_1_1map__handle.html#aa954d9b40b2685bbc8a229e3907c297d":[4,0,2,32,16],
+"classllfio__v2__xxx_1_1map__handle.html#aaa8a74dfd708c27f547a6ebd6298d043":[4,0,2,32,9],
+"classllfio__v2__xxx_1_1map__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,32,87],
+"classllfio__v2__xxx_1_1map__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,32,88],
+"classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d":[4,0,2,32,23],
+"classllfio__v2__xxx_1_1map__handle.html#ab352528186444502bbd2784518e61548":[4,0,2,32,8],
+"classllfio__v2__xxx_1_1map__handle.html#ab3eba2db55f7fd082a395ea225826ba0":[4,0,2,32,5],
+"classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,32,120],
+"classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,32,121],
+"classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e":[4,0,2,32,43],
+"classllfio__v2__xxx_1_1map__handle.html#ab814c4ba9fb6486c21f701a00691df2f":[4,0,2,32,11],
+"classllfio__v2__xxx_1_1map__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,32,111],
+"classllfio__v2__xxx_1_1map__handle.html#ab9bd6d309f13b72291b2bf7dd495cda4":[4,0,2,32,10],
+"classllfio__v2__xxx_1_1map__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,32,55],
+"classllfio__v2__xxx_1_1map__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,32,79],
+"classllfio__v2__xxx_1_1map__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,32,85],
+"classllfio__v2__xxx_1_1map__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,32,61],
+"classllfio__v2__xxx_1_1map__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,32,0],
+"classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9":[4,0,2,32,119],
+"classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152":[4,0,2,32,41],
+"classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0":[4,0,2,32,24],
+"classllfio__v2__xxx_1_1map__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,32,67],
+"classllfio__v2__xxx_1_1map__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,32,114],
+"classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a":[4,0,2,32,37],
+"classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65":[4,0,2,32,38],
+"classllfio__v2__xxx_1_1map__handle.html#acf99226dfe0cb36b0650d71159a74631":[4,0,2,32,2],
+"classllfio__v2__xxx_1_1map__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,32,103],
+"classllfio__v2__xxx_1_1map__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,32,22],
+"classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7":[4,0,2,32,72],
+"classllfio__v2__xxx_1_1map__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,32,131],
+"classllfio__v2__xxx_1_1map__handle.html#ad8e3d809cb954d99e228ee756bac1c64":[4,0,2,32,109],
+"classllfio__v2__xxx_1_1map__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,32,29],
+"classllfio__v2__xxx_1_1map__handle.html#addcc662f728bb854dc83d7fbbbef7f19":[4,0,2,32,15],
+"classllfio__v2__xxx_1_1map__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,32,62],
+"classllfio__v2__xxx_1_1map__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,32,57],
+"classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,32,89],
+"classllfio__v2__xxx_1_1map__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,32,90],
+"classllfio__v2__xxx_1_1map__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,32,68],
+"classllfio__v2__xxx_1_1map__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002":[4,0,2,32,107],
+"classllfio__v2__xxx_1_1map__handle.html#ae44bc69b964c2140a3bab80dd8aed205":[4,0,2,32,134],
+"classllfio__v2__xxx_1_1map__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,32,115],
+"classllfio__v2__xxx_1_1map__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,32,27],
+"classllfio__v2__xxx_1_1map__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,32,113],
+"classllfio__v2__xxx_1_1map__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,32,42],
+"classllfio__v2__xxx_1_1map__handle.html#af00a09029160be2f81bb55958271dc7a":[4,0,2,32,7],
+"classllfio__v2__xxx_1_1map__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703":[4,0,2,32,118],
+"classllfio__v2__xxx_1_1mapped.html":[4,0,2,33],
+"classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a":[4,0,2,33,17],
+"classllfio__v2__xxx_1_1mapped.html#a1419f37ad874215a49d02727c98c85d6":[4,0,2,33,13],
+"classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b":[4,0,2,33,0],
+"classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11":[4,0,2,33,2],
+"classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0":[4,0,2,33,19],
+"classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5":[4,0,2,33,9],
+"classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4":[4,0,2,33,10],
+"classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209":[4,0,2,33,6],
+"classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec":[4,0,2,33,14],
+"classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9":[4,0,2,33,16],
+"classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4":[4,0,2,33,5],
+"classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393":[4,0,2,33,8],
+"classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d":[4,0,2,33,11],
+"classllfio__v2__xxx_1_1mapped.html#ab073f811a62fdf71082577061d5692df":[4,0,2,33,20],
+"classllfio__v2__xxx_1_1mapped.html#ab4a5930886cab4f30fbbf7428f6a36d5":[4,0,2,33,12],
+"classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df":[4,0,2,33,7],
+"classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70":[4,0,2,33,22],
+"classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda":[4,0,2,33,3],
+"classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83":[4,0,2,33,4],
+"classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876":[4,0,2,33,1],
+"classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d":[4,0,2,33,18],
+"classllfio__v2__xxx_1_1mapped.html#aec16b8229eaee9115bcb8389fe704ada":[4,0,2,33,21],
+"classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144":[4,0,2,33,15],
+"classllfio__v2__xxx_1_1mapped__file__handle.html":[4,0,2,34],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,34,56],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,34,58],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,34,63],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75":[4,0,2,34,113],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,34,59],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0560265e0919989954e11a66c9373bbf":[4,0,2,34,9],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0":[4,0,2,34,86],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a073e7db9a64063e7298a362d3c379262":[4,0,2,34,8],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33":[4,0,2,34,105],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,34,42],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,34,1],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0e6b193a3b7f6df7196035b3d96810f1":[4,0,2,34,131],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c":[4,0,2,34,79],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b":[4,0,2,34,91],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,34,106],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433":[4,0,2,34,103],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a16593f18d4a9e83bf696d637ffcc8b5e":[4,0,2,34,2],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,34,19],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,34,130],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,34,165],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,34,148],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,34,125],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1f74f4fc555c609bb6056a7a4b6f8d77":[4,0,2,34,26],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a2088570f26197f7bea41e29659deec52":[4,0,2,34,12],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,34,138]
};
diff --git a/navtreeindex6.js b/navtreeindex6.js
index 741246da..a8e84b46 100644
--- a/navtreeindex6.js
+++ b/navtreeindex6.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX6 =
{
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a2bbf41f2f2520318fdaee21e8851cefc":[4,0,2,3,1,1],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a72bf15b1288d32ed332d3a44ddf287eb":[4,0,2,3,1,5],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a8275cd0213285ed2b1a7dc571c07adaf":[4,0,2,3,1,2],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a96b40be459cb832df002d8033d858a46":[4,0,2,3,1,4],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#aee4a3d1c9ea248acfa3b8b0935e55a6b":[4,0,2,3,1,3],
-"combining_8hpp.html":[5,0,0,1,0,0,0,1],
-"combining_8hpp.html#a8b1d1e556711d50dacb5e279dc58407a":[5,0,0,1,0,0,0,1,1],
-"config_8hpp.html":[5,0,0,1,0,2],
-"config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4":[5,0,0,1,0,2,31],
-"config_8hpp.html#a153d3be235debcda8578952291884b74":[5,0,0,1,0,2,19],
-"config_8hpp.html#a163aaaaa4d238aebd5fb9acec82006dd":[5,0,0,1,0,2,1],
-"config_8hpp.html#a1e5f2d817ba0955e319af287e5dd924b":[5,0,0,1,0,2,18],
-"config_8hpp.html#a4369189d04a952a93cf182f2c7390412":[5,0,0,1,0,2,33],
-"config_8hpp.html#a4de8a527746757126bdb1635b9a2a892":[5,0,0,1,0,2,16],
-"config_8hpp.html#a637f94e641d4078df650dd4a94094d7b":[5,0,0,1,0,2,22],
-"config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a":[5,0,0,1,0,2,2],
-"config_8hpp.html#a77c52ccdc38be135a374dbb4a7d1d466":[5,0,0,1,0,2,32],
-"config_8hpp.html#a79085acc20a53afe38d31c1af948301d":[5,0,0,1,0,2,28],
-"config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d":[5,0,0,1,0,2,11],
-"config_8hpp.html#a7f5813f203de5eb26f6f359d5418848a":[5,0,0,1,0,2,4],
-"config_8hpp.html#aa96417d97962da23b27d237508a58646":[5,0,0,1,0,2,14],
-"config_8hpp.html#ac33daba12ec10f8abd83e9670183f130":[5,0,0,1,0,2,21],
-"config_8hpp.html#ace72a598b9cabfc3d6f6760895e893fd":[5,0,0,1,0,2,30],
-"config_8hpp.html#adb72eb2d002d482f9c9be5505a7ab2ae":[5,0,0,1,0,2,15],
-"config_8hpp.html#adfde9bd005e6ec6b3f42492b758a99d3":[5,0,0,1,0,2,5],
-"config_8hpp.html#ae0ffcd967fa2fb3f8acaf39cf7b75d8d":[5,0,0,1,0,2,17],
-"config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559":[5,0,0,1,0,2,3],
-"config_8hpp.html#af65fb3311b32b8757c3b7ebdd045afe9":[5,0,0,1,0,2,29],
-"config_8hpp.html#afdf0fdef0021246266b073c4caf8abea":[5,0,0,1,0,2,20],
-"deadline_8h.html":[5,0,0,1,0,3],
-"deadline_8h.html#a8248d979e402cb0538f7f6f2840b55c1":[5,0,0,1,0,3,1],
-"deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0":[5,0,0,1,0,3,2],
-"dir_1bdb7a6f6f947180459b1da442728237.html":[5,0,0,1,0,0,0],
-"dir_2e3f7bf739bad988e6850471c071ba11.html":[5,0,0,1,0,0],
-"dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html":[5,0,0,1],
-"dir_c1befcc047da237f65397416de160f2e.html":[5,0,0,0],
-"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
-"dir_e5b117e9e5b89263e91174673bb00c84.html":[5,0,0,1,0,0,1],
-"dir_ff8d8ad368a820031e12dd9b12d79036.html":[5,0,0,1,0],
-"directory__handle_8hpp.html":[5,0,0,1,0,4],
-"directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724":[5,0,0,1,0,4,6],
-"directory__handle_8hpp.html#a2fd0d67b7d28699d16f6a3666a62a5bf":[5,0,0,1,0,4,9],
-"directory__handle_8hpp.html#a3d112d170c1d485e1120de06eef02375":[5,0,0,1,0,4,5],
-"directory__handle_8hpp.html#ad574b7ae82e4a082a7d5703097d65e92":[5,0,0,1,0,4,8],
-"directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61":[5,0,0,1,0,4,10],
-"directory__handle_8hpp.html#ae5dd820167e77b7caf7ec921f0c6e8c9":[5,0,0,1,0,4,7],
-"fast__random__file__handle_8hpp.html":[5,0,0,1,0,5],
-"file__handle_8hpp.html":[5,0,0,1,0,6],
-"file__handle_8hpp.html#a16ee1bea5a5791ecde266420e00fba81":[5,0,0,1,0,6,11],
-"file__handle_8hpp.html#a1759f4cee184d433f4446a39ff8bfa02":[5,0,0,1,0,6,5],
-"file__handle_8hpp.html#a2542466a055a0c024dee2704e9e32519":[5,0,0,1,0,6,8],
-"file__handle_8hpp.html#a5bc9df0fdb554e757d14cf40af0bbb4e":[5,0,0,1,0,6,6],
-"file__handle_8hpp.html#a6f9a72b547dc542401a2d17b1c1e2e15":[5,0,0,1,0,6,3],
-"file__handle_8hpp.html#a70d9ef3b988a880d171015b754bb7b27":[5,0,0,1,0,6,9],
-"file__handle_8hpp.html#ac8d9dc908fe39f9c896e99f6b7a39d81":[5,0,0,1,0,6,10],
-"file__handle_8hpp.html#ad0fb15649a46da0d75b5797bfda8dc2e":[5,0,0,1,0,6,12],
-"file__handle_8hpp.html#af31a062639499a79ef5cc8aed16ba65d":[5,0,0,1,0,6,4],
-"file__handle_8hpp.html#af678f58d20e1f0962ff0744150342683":[5,0,0,1,0,6,7],
-"files.html":[5,0],
-"fs__handle_8hpp.html":[5,0,0,1,0,7],
-"fs__handle_8hpp.html#a1f5764bb77ec58ac60c6b92958a16043":[5,0,0,1,0,7,1],
-"fs__handle_8hpp.html#a3c20b46beeb225aa63ade3dc42e73362":[5,0,0,1,0,7,3],
-"fs__handle_8hpp.html#a60fa5c64c83ce05c8287c5379d082e49":[5,0,0,1,0,7,2],
-"functions.html":[4,3,0],
-"functions.html":[4,3,0,0],
-"functions_0x7e.html":[4,3,0,24],
-"functions_a.html":[4,3,0,1],
-"functions_b.html":[4,3,0,2],
-"functions_c.html":[4,3,0,3],
-"functions_d.html":[4,3,0,4],
-"functions_e.html":[4,3,0,5],
-"functions_enum.html":[4,3,4],
-"functions_f.html":[4,3,0,6],
-"functions_func.html":[4,3,1],
-"functions_func.html":[4,3,1,0],
-"functions_func_0x7e.html":[4,3,1,23],
-"functions_func_a.html":[4,3,1,1],
-"functions_func_b.html":[4,3,1,2],
-"functions_func_c.html":[4,3,1,3],
-"functions_func_d.html":[4,3,1,4],
-"functions_func_e.html":[4,3,1,5],
-"functions_func_f.html":[4,3,1,6],
-"functions_func_h.html":[4,3,1,7],
-"functions_func_i.html":[4,3,1,8],
-"functions_func_k.html":[4,3,1,9],
-"functions_func_l.html":[4,3,1,10],
-"functions_func_m.html":[4,3,1,11],
-"functions_func_n.html":[4,3,1,12],
-"functions_func_o.html":[4,3,1,13],
-"functions_func_p.html":[4,3,1,14],
-"functions_func_q.html":[4,3,1,15],
-"functions_func_r.html":[4,3,1,16],
-"functions_func_s.html":[4,3,1,17],
-"functions_func_t.html":[4,3,1,18],
-"functions_func_u.html":[4,3,1,19],
-"functions_func_v.html":[4,3,1,20],
-"functions_func_w.html":[4,3,1,21],
-"functions_func_z.html":[4,3,1,22],
-"functions_h.html":[4,3,0,7],
-"functions_i.html":[4,3,0,8],
-"functions_k.html":[4,3,0,9],
-"functions_l.html":[4,3,0,10],
-"functions_m.html":[4,3,0,11],
-"functions_n.html":[4,3,0,12],
-"functions_o.html":[4,3,0,13],
-"functions_p.html":[4,3,0,14],
-"functions_q.html":[4,3,0,15],
-"functions_r.html":[4,3,0,16],
-"functions_s.html":[4,3,0,17],
-"functions_t.html":[4,3,0,18],
-"functions_type.html":[4,3,3],
-"functions_u.html":[4,3,0,19],
-"functions_v.html":[4,3,0,20],
-"functions_vars.html":[4,3,2],
-"functions_w.html":[4,3,0,21],
-"functions_x.html":[4,3,0,22],
-"functions_z.html":[4,3,0,23],
-"globals.html":[5,1,0],
-"globals_defs.html":[5,1,1],
-"group__config.html":[2,0],
-"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,2,8],
-"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[2,0,20],
-"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[2,0,21],
-"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,2,9],
-"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[5,0,0,0,0,11],
-"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[2,0,4],
-"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[2,0,11],
-"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[5,0,0,1,0,2,13],
-"group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3":[5,0,0,0,0,7],
-"group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3":[2,0,0],
-"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[5,0,0,1,0,2,9],
-"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[2,0,8],
-"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[2,0,6],
-"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[5,0,0,1,0,2,7],
-"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[5,0,0,1,0,2,6],
-"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[2,0,5],
-"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[5,0,0,0,0,10],
-"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[2,0,3],
-"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[2,0,9],
-"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[5,0,0,1,0,2,10],
-"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[5,0,0,1,0,2,26],
-"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[2,0,16],
-"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[2,0,2],
-"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[5,0,0,0,0,9],
-"group__config.html#ga8a15603141e848a1816c1758b9436287":[2,0,1],
-"group__config.html#ga8a15603141e848a1816c1758b9436287":[5,0,0,0,0,8],
-"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[2,0,12],
-"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[5,0,0,1,2,3],
-"group__config.html#gab03294596f77a7717954929a887ca425":[5,0,0,1,2,7],
-"group__config.html#gab03294596f77a7717954929a887ca425":[2,0,19],
-"group__config.html#gab2f82803f0ce479a2993d3b7696db8d3":[5,0,0,1,0,2,27],
-"group__config.html#gab2f82803f0ce479a2993d3b7696db8d3":[2,0,17],
-"group__config.html#gabb964a24682a722a7eaad891ee497a61":[2,0,13],
-"group__config.html#gabb964a24682a722a7eaad891ee497a61":[5,0,0,1,0,2,23],
-"group__config.html#gac9f7f0153adb9034d26c4554728f817a":[2,0,14],
-"group__config.html#gac9f7f0153adb9034d26c4554728f817a":[5,0,0,1,0,2,24],
-"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[2,0,18],
-"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[5,0,0,1,2,6],
-"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[5,0,0,1,0,2,8],
-"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[2,0,7],
-"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[5,0,0,1,0,2,25],
-"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[2,0,15],
-"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[2,0,10],
-"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[5,0,0,1,0,2,12],
-"handle_8hpp.html":[5,0,0,1,0,8],
-"handle_8hpp.html#a4888fb3be6e332367f3ee046f869a8f8":[5,0,0,1,0,8,7],
-"handle_8hpp.html#a56405b7c7f5ca46e6564ce295a87fc87":[5,0,0,1,0,8,8],
-"handle_8hpp.html#a72a6e1add1783bc959c4954ac92300f8":[5,0,0,1,0,8,3],
-"handle_8hpp.html#a869dd7b04685be755d854dea281f84c6":[5,0,0,1,0,8,5],
-"handle_8hpp.html#aa2eeaa1b9280d05b18b7e6d505c289fb":[5,0,0,1,0,8,9],
-"handle_8hpp.html#ac28600985804a8c72434b65533c1b84d":[5,0,0,1,0,8,6],
-"handle_8hpp.html#ae33af5701ff0ec4573bd72c7e71a04cf":[5,0,0,1,0,8,4],
-"handle_8hpp.html#af6109ac3bc59d2b15edcded08060d1b0":[5,0,0,1,0,8,2],
-"hierarchy.html":[4,2],
-"index.html":[],
-"io__handle_8hpp.html":[5,0,0,1,0,9],
-"io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672":[5,0,0,1,0,9,5],
-"io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a":[5,0,0,1,0,9,6],
-"io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312":[5,0,0,1,0,9,7],
-"io__service_8hpp.html":[5,0,0,1,0,10],
-"io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8":[5,0,0,1,0,10,2],
-"io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773":[5,0,0,1,0,10,3],
-"io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280":[5,0,0,1,0,10,5],
-"io__service_8hpp.html#af5cfb661784f372559747708772b9106":[5,0,0,1,0,10,4],
-"kvstore_8hpp.html":[5,0,0,0,0],
-"kvstore_8hpp.html#a09144ea19f3c63cd0dab9177ae073447":[5,0,0,0,0,23],
-"kvstore_8hpp.html#a466cf9673cdcc87c5f0d24f36f433924":[5,0,0,0,0,20],
-"kvstore_8hpp.html#a6e486d7b17da9677f0218b106b1f3817":[5,0,0,0,0,22],
-"kvstore_8hpp.html#a793e650666d8d8f95be813271ceaf8a6":[5,0,0,0,0,21],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5f":[5,0,0,0,0,19],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8":[5,0,0,0,0,19,4],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa260ca9dd8a4577fc00b7bd5810298076":[5,0,0,0,0,19,0],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab":[5,0,0,0,0,19,1],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07":[5,0,0,0,0,19,2],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70":[5,0,0,0,0,19,3],
-"kvstore_8hpp.html#ab1cb4cfee6dbf78f171a131a0019a477":[5,0,0,0,0,13],
-"kvstore_8hpp.html#ab44821c2769b974fa40319f77b913f9d":[5,0,0,0,0,18],
-"kvstore_8hpp.html#ab623a6b882a8f334d0ac43dfbfb72408":[5,0,0,0,0,24],
-"kvstore_8hpp.html#ab6addfdbe96f246408c6dec238bb4ee9":[5,0,0,0,0,15],
-"kvstore_8hpp.html#abfefe66b118efa5984bfeea73333006b":[5,0,0,0,0,16],
-"kvstore_8hpp.html#ad464f951f0250c13c513f131f4571f2e":[5,0,0,0,0,17],
-"kvstore_8hpp.html#adb5cffe293f00d60233dfe7b3467b5e9":[5,0,0,0,0,14],
-"kvstore_8hpp.html#ae62caff72991c75f69dee4aab63ea0ff":[5,0,0,0,0,12],
-"llfio_8hpp.html":[5,0,0,1,1],
-"llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65":[5,0,0,1,1,0],
-"llfio_8hpp.html#ad2355e889e3d2e599f26847898c3981b":[5,0,0,1,1,2],
-"llfio_8hpp.html#add07585a12827be7f924cf06982091b6":[5,0,0,1,1,1],
-"llfio_8hpp.html#af8824fe4ddf44b85f7c0609a3535c9d3":[5,0,0,1,1,3],
-"lock__files_8hpp.html":[5,0,0,1,0,0,1,3],
-"map__handle_8hpp.html":[5,0,0,1,0,12],
-"map__handle_8hpp.html#a28060698d23344a5ece73336a9cf49c2":[5,0,0,1,0,12,19],
-"map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110":[5,0,0,1,0,12,5],
-"map__handle_8hpp.html#a3d55c0a3b567c7ed05053a94750bb133":[5,0,0,1,0,12,16],
-"map__handle_8hpp.html#a5323ac4d73623d99f92109a5c184e5dd":[5,0,0,1,0,12,17],
-"map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b":[5,0,0,1,0,12,22],
-"map__handle_8hpp.html#a70e68bcf05636966ffefe001b903487e":[5,0,0,1,0,12,8],
-"map__handle_8hpp.html#a8231f6ba00d0d5840b47981ecc148e51":[5,0,0,1,0,12,21],
-"map__handle_8hpp.html#a86f75b69db68e6c0593919f0a878f838":[5,0,0,1,0,12,11],
-"map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5":[5,0,0,1,0,12,6],
-"map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9":[5,0,0,1,0,12,7],
-"map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537":[5,0,0,1,0,12,20],
-"map__handle_8hpp.html#aaf60dc6739dc2bd7d890630b1a50d15a":[5,0,0,1,0,12,12],
-"map__handle_8hpp.html#ab50d07405d17a8fff4e360fd2612bc6f":[5,0,0,1,0,12,9],
-"map__handle_8hpp.html#ab993693c98cdb52e2d611f8f9e24e4e2":[5,0,0,1,0,12,14],
-"map__handle_8hpp.html#ab9dbbe2fe79758ef87fe2dd1f61d824c":[5,0,0,1,0,12,10],
-"map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44":[5,0,0,1,0,12,18],
-"map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb":[5,0,0,1,0,12,15],
-"map__handle_8hpp.html#acaa74d6fc6b9aef877233654f514041d":[5,0,0,1,0,12,13],
-"mapped_8hpp.html":[5,0,0,1,0,13],
-"mapped__file__handle_8hpp.html":[5,0,0,1,0,14],
-"mapped__file__handle_8hpp.html#a1f0ccde00add2f09579151fd71b8f06d":[5,0,0,1,0,14,5],
-"mapped__file__handle_8hpp.html#a3eb3e8ef0ddff1270b3d78d4178335c7":[5,0,0,1,0,14,7],
-"mapped__file__handle_8hpp.html#a58d5390cad390de24a80748c8cd7dc5b":[5,0,0,1,0,14,8],
-"mapped__file__handle_8hpp.html#a6aaeb9bab04b1dd25fca172623df8dfc":[5,0,0,1,0,14,6],
-"mapped__file__handle_8hpp.html#a933649fdb097431a1b84360b9a5ed5c4":[5,0,0,1,0,14,3],
-"mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730":[5,0,0,1,0,14,4],
-"mapped__file__handle_8hpp.html#acda211a674e09531226be56691136f7c":[5,0,0,1,0,14,9],
-"md__build.html":[0],
-"memory__map_8hpp.html":[5,0,0,1,0,0,1,4],
-"modules.html":[2],
-"namespacekvstore__v1__xxx.html":[3,0,0],
-"namespacekvstore__v1__xxx.html":[4,0,1],
-"namespacekvstore__v1__xxx_1_1traits.html":[4,0,1,0],
-"namespacekvstore__v1__xxx_1_1traits.html":[3,0,0,0],
-"namespacellfio__v2__xxx.html":[4,0,2],
-"namespacellfio__v2__xxx.html":[3,0,1],
-"namespacellfio__v2__xxx_1_1algorithm.html":[3,0,1,0],
-"namespacellfio__v2__xxx_1_1algorithm.html":[4,0,2,0],
-"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[4,0,2,0,0],
-"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[3,0,1,0,0]
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,34,75],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395":[4,0,2,34,146],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,34,116],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a2947864bd359b008c1ae36046abd79ca":[4,0,2,34,18],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2":[4,0,2,34,28],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94":[4,0,2,34,48],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e":[4,0,2,34,23],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578":[4,0,2,34,104],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,34,52],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789":[4,0,2,34,29],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,34,155],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c":[4,0,2,34,50],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee":[4,0,2,34,112],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,34,70],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,34,51],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62":[4,0,2,34,99],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a393d056936c3f262aff76ed406858a95":[4,0,2,34,121],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71":[4,0,2,34,98],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,34,97],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,34,126],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a45b948ce8159d12dab88ed73cd445233":[4,0,2,34,3],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a469019e3bbcd7b37499b8604af713b40":[4,0,2,34,78],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,34,111],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a49db79127d440f0f8997bd52f0699818":[4,0,2,34,13],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44":[4,0,2,34,21],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce":[4,0,2,34,49],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,34,61],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,34,159],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,34,64],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7":[4,0,2,34,33],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a5572735777dfdd3f7c5c1f6dc8260287":[4,0,2,34,150],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a561ef83b4fe400b59c9d92444913c180":[4,0,2,34,149],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7":[4,0,2,34,65],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,34,74],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303":[4,0,2,34,89],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,34,54],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a609d84c0abc8efadb678237b48d1011b":[4,0,2,34,6],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a60a43bab3e863c72083ce6e3e1820c3c":[4,0,2,34,136],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96":[4,0,2,34,16],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,34,118],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,34,31],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,34,71],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,34,45],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,34,30],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e30345e9aa4fa263b009efe2c97466a":[4,0,2,34,57],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e":[4,0,2,34,120],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6f3cd384750d8f8c4d95f627259366da":[4,0,2,34,132],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,34,41],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,34,102],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7727a23852d90bd5ea4e47044d20cfee":[4,0,2,34,123],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,34,69],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,34,154],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,34,128],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661":[4,0,2,34,163],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7bff548a619fa73951bf561039915076":[4,0,2,34,5],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,34,137],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a800b4d046b9648a9a4a69a7797548ee4":[4,0,2,34,157],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,34,43],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,34,161],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90":[4,0,2,34,156],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,34,92],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,34,53],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,34,114],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a8f460e22e7e6856bdf0dae8134987292":[4,0,2,34,135],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,34,76],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,34,88],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9582b139a2b92ff13708a4de547c5605":[4,0,2,34,80],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,34,147],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,34,40],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,34,68],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9b6f5ad1c2698e1476483df81aa66027":[4,0,2,34,14],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9e64021bc1f570d8c0c8b9c413981289":[4,0,2,34,145],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,34,17],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,34,36],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,34,158],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,34,55],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0":[4,0,2,34,25],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa24a432125e5b51b13f21d9b74fa4721":[4,0,2,34,82],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa276caa8542cca700a2574459395ff60":[4,0,2,34,100],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,34,85],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,34,44],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa4776885b13cc548a9a7ceb926dadc4c":[4,0,2,34,15],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa6d1d50b5ed33be80469110dca13e1fb":[4,0,2,34,7],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,34,77],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf":[4,0,2,34,83],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,34,94],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa87c3e22aa12084cb48fb29c5b10c78d":[4,0,2,34,81],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aab4e4f580aee606c0796c6352f1f327a":[4,0,2,34,144],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,34,95],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,34,109],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aaed2968352e0cb76177ac48866716b01":[4,0,2,34,101],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec":[4,0,2,34,24],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab3901a37406c7e6701c6ca8af09dbcce":[4,0,2,34,4],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,34,153],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab7f99194cd577ccb85fa04440c969e56":[4,0,2,34,11],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,34,20],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,34,129],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a":[4,0,2,34,84],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#abe8d8d2addba4af591226c2f3bd1a236":[4,0,2,34,38],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac106503b2605e6840f7167133df35e31":[4,0,2,34,162],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,34,108],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,34,60],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe":[4,0,2,34,46],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,34,87],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,34,93],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,34,66],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,34,0],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,34,72],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,34,141],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c":[4,0,2,34,107],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c":[4,0,2,34,152],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,34,127],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,34,115],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,34,110],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,34,27],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,34,119],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad2fecc4ffb7c0a6ac9c96cfa32408919":[4,0,2,34,10],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,34,117],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,34,160],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad8af62df0b252eec23e018fe79284608":[4,0,2,34,134],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad8e3d809cb954d99e228ee756bac1c64":[4,0,2,34,124],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad9c316b496569c50fec3e42c0b15e8c9":[4,0,2,34,164],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ada1b53fe464605c47c06e3ea69d9da62":[4,0,2,34,133],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,34,37],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,34,34],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,34,67],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,34,62],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,34,96],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,34,73],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae3b16c444914200a7e5ab3cd0ba2d002":[4,0,2,34,122],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3":[4,0,2,34,22],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57":[4,0,2,34,90],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,34,142],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,34,139],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,34,32],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,34,140],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,34,47],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c":[4,0,2,34,39],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#afab4b38fba3730a36ba0b2f849dc6777":[4,0,2,34,143],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703":[4,0,2,34,151],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68":[4,0,2,34,35],
+"classllfio__v2__xxx_1_1path__handle.html":[4,0,2,36],
+"classllfio__v2__xxx_1_1path__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,36,20],
+"classllfio__v2__xxx_1_1path__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,36,22],
+"classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf":[4,0,2,36,8],
+"classllfio__v2__xxx_1_1path__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,36,27],
+"classllfio__v2__xxx_1_1path__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,36,23],
+"classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32":[4,0,2,36,21],
+"classllfio__v2__xxx_1_1path__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,36,15],
+"classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8":[4,0,2,36,41],
+"classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,36,47],
+"classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,36,45],
+"classllfio__v2__xxx_1_1path__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,36,52],
+"classllfio__v2__xxx_1_1path__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,36,38],
+"classllfio__v2__xxx_1_1path__handle.html#a2b206c90a903d5a84e07da0f871aa612":[4,0,2,36,4],
+"classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c":[4,0,2,36,9],
+"classllfio__v2__xxx_1_1path__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,36,33],
+"classllfio__v2__xxx_1_1path__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,36,48],
+"classllfio__v2__xxx_1_1path__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,36,25],
+"classllfio__v2__xxx_1_1path__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,36,28],
+"classllfio__v2__xxx_1_1path__handle.html#a59eb95b11977153d7510d3979defca1f":[4,0,2,36,5],
+"classllfio__v2__xxx_1_1path__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,36,37],
+"classllfio__v2__xxx_1_1path__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,36,34],
+"classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a":[4,0,2,36,42],
+"classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c":[4,0,2,36,6],
+"classllfio__v2__xxx_1_1path__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,36,14],
+"classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,36,46],
+"classllfio__v2__xxx_1_1path__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,36,32],
+"classllfio__v2__xxx_1_1path__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,36,16],
+"classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,36,49],
+"classllfio__v2__xxx_1_1path__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,36,39],
+"classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,36,40],
+"classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a":[4,0,2,36,18],
+"classllfio__v2__xxx_1_1path__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,36,31],
+"classllfio__v2__xxx_1_1path__handle.html#a9b073ef087460e1a6975bbb61cdc1572":[4,0,2,36,0],
+"classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e":[4,0,2,36,10],
+"classllfio__v2__xxx_1_1path__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,36,44],
+"classllfio__v2__xxx_1_1path__handle.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,36,50],
+"classllfio__v2__xxx_1_1path__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,36,24],
+"classllfio__v2__xxx_1_1path__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,36,43],
+"classllfio__v2__xxx_1_1path__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,36,29],
+"classllfio__v2__xxx_1_1path__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,36,35],
+"classllfio__v2__xxx_1_1path__handle.html#acab4abf41e3a54d6f55ca28da526fc8a":[4,0,2,36,3],
+"classllfio__v2__xxx_1_1path__handle.html#ad011e3d216b5194b92f90502d9bb6b99":[4,0,2,36,2],
+"classllfio__v2__xxx_1_1path__handle.html#ad1e2cc6153a5d55ebaf6f3283f56c6f0":[4,0,2,36,13],
+"classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e":[4,0,2,36,19],
+"classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df":[4,0,2,36,11],
+"classllfio__v2__xxx_1_1path__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,36,51],
+"classllfio__v2__xxx_1_1path__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,36,30],
+"classllfio__v2__xxx_1_1path__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,36,26],
+"classllfio__v2__xxx_1_1path__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,36,36],
+"classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc":[4,0,2,36,12],
+"classllfio__v2__xxx_1_1path__handle.html#aec00c90b9b840886be11f846d161415b":[4,0,2,36,1],
+"classllfio__v2__xxx_1_1path__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,36,17],
+"classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea":[4,0,2,36,7],
+"classllfio__v2__xxx_1_1path__view.html":[4,0,2,38],
+"classllfio__v2__xxx_1_1path__view.html#a026f3fd0f948212028182d1b501dffbb":[4,0,2,38,21],
+"classllfio__v2__xxx_1_1path__view.html#a03281bf06f85b14622386bd87b9a947e":[4,0,2,38,67],
+"classllfio__v2__xxx_1_1path__view.html#a04eaaa00f1a82c4160c60043df70c8f9":[4,0,2,38,62],
+"classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae":[4,0,2,38,29],
+"classllfio__v2__xxx_1_1path__view.html#a1531ffbbfb4d089a18f09809290190cc":[4,0,2,38,66],
+"classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400":[4,0,2,38,54],
+"classllfio__v2__xxx_1_1path__view.html#a1b128bc55c1c093b9b46de07b7c1ced7":[4,0,2,38,12],
+"classllfio__v2__xxx_1_1path__view.html#a247fba2fecd5b850a17b0994f5913b4f":[4,0,2,38,58],
+"classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e":[4,0,2,38,34],
+"classllfio__v2__xxx_1_1path__view.html#a258fe430d6aa8a6f9cd9a3894cae5c44":[4,0,2,38,41],
+"classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11":[4,0,2,38,44],
+"classllfio__v2__xxx_1_1path__view.html#a2abd5b3147c3dadfd9f556dff8679c46":[4,0,2,38,61],
+"classllfio__v2__xxx_1_1path__view.html#a2d62abddb51d080a8c2e42998bc6fb58":[4,0,2,38,30],
+"classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257":[4,0,2,38,39],
+"classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4":[4,0,2,38,45],
+"classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562":[4,0,2,38,50],
+"classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042":[4,0,2,38,25],
+"classllfio__v2__xxx_1_1path__view.html#a38ff18893dfc84c562fb36c299702bf5":[4,0,2,38,1],
+"classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998":[4,0,2,38,59],
+"classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f":[4,0,2,38,49],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48d":[4,0,2,38,9],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455":[4,0,2,38,9,2],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48da939870da420c261803566b4aa696edd2":[4,0,2,38,9,0],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055":[4,0,2,38,9,4],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039":[4,0,2,38,9,3],
+"classllfio__v2__xxx_1_1path__view.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b":[4,0,2,38,9,1],
+"classllfio__v2__xxx_1_1path__view.html#a486c1bc907c6de489ac94069d6681c53":[4,0,2,38,46],
+"classllfio__v2__xxx_1_1path__view.html#a4a0bfc3e06986b6287a22fdc97799181":[4,0,2,38,57],
+"classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732e":[4,0,2,38,10],
+"classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f":[4,0,2,38,10,1],
+"classllfio__v2__xxx_1_1path__view.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6":[4,0,2,38,10,0],
+"classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba":[4,0,2,38,7],
+"classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266":[4,0,2,38,20],
+"classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5":[4,0,2,38,8],
+"classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559":[4,0,2,38,14],
+"classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af":[4,0,2,38,55],
+"classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a":[4,0,2,38,56],
+"classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c":[4,0,2,38,17],
+"classllfio__v2__xxx_1_1path__view.html#a66781bc99e8f92dd82f6f04afa08a6c1":[4,0,2,38,27],
+"classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207":[4,0,2,38,28],
+"classllfio__v2__xxx_1_1path__view.html#a6b6792638386aa705083c173e5d9b948":[4,0,2,38,32],
+"classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e":[4,0,2,38,18],
+"classllfio__v2__xxx_1_1path__view.html#a7663cb908516be3f8bf17b6826da186a":[4,0,2,38,0],
+"classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a":[4,0,2,38,6],
+"classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc":[4,0,2,38,15],
+"classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032":[4,0,2,38,52],
+"classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da":[4,0,2,38,24],
+"classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339":[4,0,2,38,11],
+"classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e":[4,0,2,38,19],
+"classllfio__v2__xxx_1_1path__view.html#a964de9984b51e6bfd021f7c1587863c0":[4,0,2,38,40],
+"classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86":[4,0,2,38,42],
+"classllfio__v2__xxx_1_1path__view.html#aaa1116ad357d1c73d1cc26ce28b29c82":[4,0,2,38,4],
+"classllfio__v2__xxx_1_1path__view.html#aaba2705ba8660b2d9e28cbbd099a85ec":[4,0,2,38,47],
+"classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b":[4,0,2,38,23]
};
diff --git a/navtreeindex7.js b/navtreeindex7.js
index 55012518..879f1d4f 100644
--- a/navtreeindex7.js
+++ b/navtreeindex7.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX7 =
{
-"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[4,0,2,0,1],
-"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[3,0,1,0,1],
-"namespacellfio__v2__xxx_1_1path__discovery.html":[4,0,2,1],
-"namespacellfio__v2__xxx_1_1path__discovery.html":[3,0,1,1],
-"namespacellfio__v2__xxx_1_1storage__profile.html":[3,0,1,2],
-"namespacellfio__v2__xxx_1_1storage__profile.html":[4,0,2,2],
-"namespacellfio__v2__xxx_1_1utils.html":[3,0,1,3],
-"namespacellfio__v2__xxx_1_1utils.html":[4,0,2,3],
-"namespacemembers.html":[3,1,0],
-"namespacemembers_enum.html":[3,1,3],
-"namespacemembers_func.html":[3,1,1],
-"namespacemembers_type.html":[3,1,2],
-"namespaces.html":[3,0],
-"native__handle__type_8hpp.html":[5,0,0,1,0,15],
-"pages.html":[],
-"path__discovery_8hpp.html":[5,0,0,1,0,16],
-"path__discovery_8hpp.html#a2dd74ea752f3f511d58ccccdcac7f4fd":[5,0,0,1,0,16,4],
-"path__discovery_8hpp.html#a876db6e58143e730afd0706226f39d6c":[5,0,0,1,0,16,3],
-"path__discovery_8hpp.html#ab3c4aaa0c413e4989461ab6551058583":[5,0,0,1,0,16,5],
-"path__discovery_8hpp.html#ada0466e529e851d2d58ce87e0e28f4f2":[5,0,0,1,0,16,1],
-"path__discovery_8hpp.html#ade18f14d3ef37488e8967c87faa04d29":[5,0,0,1,0,16,2],
-"path__handle_8hpp.html":[5,0,0,1,0,17],
-"path__handle_8hpp.html#a49f7bb77eb38fbe1280019225b66b78b":[5,0,0,1,0,17,2],
-"path__handle_8hpp.html#ad8b12afdd4c80d69d2530bd40f92427c":[5,0,0,1,0,17,3],
-"path__view_8hpp.html":[5,0,0,1,0,18],
-"path__view_8hpp.html#a0247c61a58f54b12119505f6b12aef2b":[5,0,0,1,0,18,10],
-"path__view_8hpp.html#a0846b040cbf733b34787c76a39e35b85":[5,0,0,1,0,18,7],
-"path__view_8hpp.html#a13faa6de476f799028a4bf143facd46c":[5,0,0,1,0,18,13],
-"path__view_8hpp.html#a1aeb7ad61b168bafdb02f82aa9ccf1b4":[5,0,0,1,0,18,17],
-"path__view_8hpp.html#a1d7aae6e2796892ed4c0b7ad2d8e9b60":[5,0,0,1,0,18,14],
-"path__view_8hpp.html#a20dbb9e8deed80ea3d0b65d52fd34771":[5,0,0,1,0,18,9],
-"path__view_8hpp.html#a242ba0cf05b33c8dabf070791e92c50e":[5,0,0,1,0,18,22],
-"path__view_8hpp.html#a24c9ba461630fe02b8c818df8b4f0402":[5,0,0,1,0,18,5],
-"path__view_8hpp.html#a3e68b8ef674b43bc67a04576a5d9a99e":[5,0,0,1,0,18,6],
-"path__view_8hpp.html#a46e59fbd0b20657311cfa8015f9525a7":[5,0,0,1,0,18,20],
-"path__view_8hpp.html#a6024cdc07fef0c772c14ec1f91defa75":[5,0,0,1,0,18,11],
-"path__view_8hpp.html#a860f04aa3b25b25cc205defe3a694448":[5,0,0,1,0,18,16],
-"path__view_8hpp.html#aa93a5ee3bddc44cc342826ff9892a170":[5,0,0,1,0,18,12],
-"path__view_8hpp.html#aac6fb2a3bda730de08b96fc69703f6da":[5,0,0,1,0,18,15],
-"path__view_8hpp.html#ab87d8f741a60f9b2c2646efd9d00d8df":[5,0,0,1,0,18,21],
-"path__view_8hpp.html#ad116a2c98d1b1326ca6bb64d3868dbbd":[5,0,0,1,0,18,3],
-"path__view_8hpp.html#ad34f076b77f1de6ae1660108254f2183":[5,0,0,1,0,18,8],
-"path__view_8hpp.html#ad5a486f4772daf5d5586d27591fc8f9b":[5,0,0,1,0,18,19],
-"path__view_8hpp.html#ae52923980b09f106b87cde636b286c61":[5,0,0,1,0,18,2],
-"path__view_8hpp.html#ae8e18c4998e0aa92b606b3b88eec04a5":[5,0,0,1,0,18,4],
-"path__view_8hpp.html#afcf1b69c1cccc63221adeb876b632127":[5,0,0,1,0,18,18],
-"safe__byte__ranges_8hpp.html":[5,0,0,1,0,0,1,5],
-"safe__byte__ranges_8hpp.html#a1a7e9cda94a1f38463e2e42af75c3e21":[5,0,0,1,0,0,1,5,1],
-"stat_8hpp.html":[5,0,0,1,0,19],
-"statfs_8hpp.html":[5,0,0,1,0,20],
-"storage__profile_8hpp.html":[5,0,0,1,0,21],
-"storage__profile_8hpp.html#a064c04652078a531d09bc211f000e170":[5,0,0,1,0,21,40],
-"storage__profile_8hpp.html#a1988d45c2205489a1bf78b1ef370611a":[5,0,0,1,0,21,27],
-"storage__profile_8hpp.html#a1ab8930f9a1f27aaab838eb81bb521e0":[5,0,0,1,0,21,37],
-"storage__profile_8hpp.html#a2764c70097b1977e3cb7a750779102ae":[5,0,0,1,0,21,30],
-"storage__profile_8hpp.html#a2be36be3a6e4a8e892f34666642d7ceb":[5,0,0,1,0,21,19],
-"storage__profile_8hpp.html#a2e4f5748492573bf1dcf63bf89421c32":[5,0,0,1,0,21,26],
-"storage__profile_8hpp.html#a42ddc873c6d7178340a72417d1cc42b3":[5,0,0,1,0,21,23],
-"storage__profile_8hpp.html#a51c017aed8f7fe2568fa29506ac03e43":[5,0,0,1,0,21,45],
-"storage__profile_8hpp.html#a5a4d0eb211dde145cc65f78c4105644b":[5,0,0,1,0,21,43],
-"storage__profile_8hpp.html#a600823f44a0965dd6b0b82866e888f1e":[5,0,0,1,0,21,29],
-"storage__profile_8hpp.html#a62ea39b41b0ae8ffd6e78db0ff9a819e":[5,0,0,1,0,21,39],
-"storage__profile_8hpp.html#a6ddb7c2bee277fc16207b7e8cb05693f":[5,0,0,1,0,21,4],
-"storage__profile_8hpp.html#a72a7277d9ca13177b87462f57f4f8b6b":[5,0,0,1,0,21,33],
-"storage__profile_8hpp.html#a789770254f4c4170e6bbb8dea9f7eec6":[5,0,0,1,0,21,9],
-"storage__profile_8hpp.html#a79927d0371baaf191dac6acb2fb58dbb":[5,0,0,1,0,21,22],
-"storage__profile_8hpp.html#a7a10e1dc2748e68d0bcdf322e57ee3e4":[5,0,0,1,0,21,38],
-"storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff":[5,0,0,1,0,21,11],
-"storage__profile_8hpp.html#a7c0b397aef05f3afc91fe07ed8c54adf":[5,0,0,1,0,21,6],
-"storage__profile_8hpp.html#a8a11ed274016c78adf2904209f279d23":[5,0,0,1,0,21,7],
-"storage__profile_8hpp.html#a974992f9521e12b67597474b92876876":[5,0,0,1,0,21,14],
-"storage__profile_8hpp.html#a99367667c5b4aaaf481f87229f82f8e3":[5,0,0,1,0,21,44],
-"storage__profile_8hpp.html#a9aeced989ea59c10af9066e5f8a35dea":[5,0,0,1,0,21,41],
-"storage__profile_8hpp.html#a9c35f07dd0bcac144d54ad4779533880":[5,0,0,1,0,21,18],
-"storage__profile_8hpp.html#a9feea238482248c461b240cf0272390f":[5,0,0,1,0,21,10],
-"storage__profile_8hpp.html#aa44df5a2a3190c4d94185a234c5147a6":[5,0,0,1,0,21,8],
-"storage__profile_8hpp.html#aa4dc6d25d12156f9348e981118024ae7":[5,0,0,1,0,21,34],
-"storage__profile_8hpp.html#aac385da4b780e8a6a87444fe3579578c":[5,0,0,1,0,21,12],
-"storage__profile_8hpp.html#aaf909a231bf5202f600dee5cf687b17f":[5,0,0,1,0,21,35],
-"storage__profile_8hpp.html#ab4617a30b12ef98c811914f6d78bfa72":[5,0,0,1,0,21,32],
-"storage__profile_8hpp.html#ab51d8b1bb205563a6b82900f6de7bd63":[5,0,0,1,0,21,20],
-"storage__profile_8hpp.html#ab67a28c26fbb05ff1560c1ba6f2189ff":[5,0,0,1,0,21,42],
-"storage__profile_8hpp.html#ac47bfaf65d5d867857e4f6b57d13c571":[5,0,0,1,0,21,24],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238":[5,0,0,1,0,21,5],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a4bc411266f0603994dc9c47c239c47b5":[5,0,0,1,0,21,5,2],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a59b1fa3a479308121c258d4f85c97f85":[5,0,0,1,0,21,5,1],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a8896b85dc23ac16cda3724baaeaab9ea":[5,0,0,1,0,21,5,3],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aad921d60486366258809553a3db49a4a":[5,0,0,1,0,21,5,0],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238ab45cffe084dd3d20d928bee85e7b0f21":[5,0,0,1,0,21,5,5],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aefe6d5085c67bc38cd3746f2dc8013e1":[5,0,0,1,0,21,5,4],
-"storage__profile_8hpp.html#ac5b059cec97280bc5e60625d3a0acd5c":[5,0,0,1,0,21,46],
-"storage__profile_8hpp.html#ad0452376213dca667960263dbb2044c2":[5,0,0,1,0,21,15],
-"storage__profile_8hpp.html#ad7b076ee267ea568cea771ad6cb40c4e":[5,0,0,1,0,21,25],
-"storage__profile_8hpp.html#ae12aeddbd8623fc0118be8d653e2ab23":[5,0,0,1,0,21,21],
-"storage__profile_8hpp.html#ae200d0e684ae1e93a474a3a2bef43a7f":[5,0,0,1,0,21,36],
-"storage__profile_8hpp.html#ae3954ddd50835459ed0485b6117126a0":[5,0,0,1,0,21,28],
-"storage__profile_8hpp.html#ae7ed1ab57b777ccf201ac1bf33ccf747":[5,0,0,1,0,21,16],
-"storage__profile_8hpp.html#aeba16d86e9c035cdd006caa6be1ab66c":[5,0,0,1,0,21,31],
-"storage__profile_8hpp.html#af3395cd9610e7eb366134a0e723ab971":[5,0,0,1,0,21,17],
-"storage__profile_8hpp.html#afc8c9aab3aef68e2bfdf76e85b22b194":[5,0,0,1,0,21,13],
-"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html":[4,0,0,0,0],
-"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html":[4,0,0,0,1],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html":[4,0,1,2],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85":[4,0,1,2,3],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483":[4,0,1,2,4],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8":[4,0,1,2,1],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4":[4,0,1,2,12],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307":[4,0,1,2,2],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a":[4,0,1,2,13],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45":[4,0,1,2,15],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a":[4,0,1,2,5],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee":[4,0,1,2,10],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af":[4,0,1,2,6],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29":[4,0,1,2,7],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4":[4,0,1,2,8],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781":[4,0,1,2,11],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847":[4,0,1,2,9],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed":[4,0,1,2,14],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c":[4,0,1,2,0],
-"structkvstore__v1__xxx_1_1traits_1_1is__attachable.html":[4,0,1,0,0],
-"structkvstore__v1__xxx_1_1traits_1_1is__detachable.html":[4,0,1,0,1],
-"structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html":[4,0,1,0,2],
-"structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html":[4,0,1,0,3],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html":[4,0,2,0,0,0],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,0,21],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,0,52],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,0,27],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,0,53],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,0,36],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a":[4,0,2,0,0,0,8],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a":[4,0,2,0,0,0,9],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,0,61],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,0,63],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,0,45],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176":[4,0,2,0,0,0,7],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1":[4,0,2,0,0,0,2],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,0,33],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,0,39],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,0,28],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a":[4,0,2,0,0,0,13],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f":[4,0,2,0,0,0,1],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,0,35],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,0,65],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,0,43],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,0,31],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62":[4,0,2,0,0,0,0],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48":[4,0,2,0,0,0,6],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729":[4,0,2,0,0,0,51],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4":[4,0,2,0,0,0,5],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a514fc4032a8866f1273b3fc52e779c8b":[4,0,2,0,0,0,17],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,0,34],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,0,46],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945":[4,0,2,0,0,0,10],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de":[4,0,2,0,0,0,12],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,0,54],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,0,30],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,0,59],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,0,22],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,0,38],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,0,64],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,0,25],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,0,23],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,0,56],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,0,62],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,0,60],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,0,49],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f":[4,0,2,0,0,0,14],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,0,41],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,0,44],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,0,40],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772":[4,0,2,0,0,0,16],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,0,32],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,0,19],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,0,37],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,0,29],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,0,24],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8":[4,0,2,0,0,0,4],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075":[4,0,2,0,0,0,11],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950":[4,0,2,0,0,0,15],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316":[4,0,2,0,0,0,50],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,0,26],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,0,48],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,0,55],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,0,20],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,0,57],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,0,18],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,0,47],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4":[4,0,2,0,0,0,3],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,0,42],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,0,58],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html":[4,0,2,0,0,1],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,1,16],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,1,45],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,1,22],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0846ca0495305ef9bbf8177c3f05998b":[4,0,2,0,0,1,11],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,0,1,0],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,1,46],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,1,31],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,0,1,6],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,1,54],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,0,1,1],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,1,57],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,1,40],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,0,1,4],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,1,28],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,1,34],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,1,23],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,0,1,3],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,1,30],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,1,59],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,1,38],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,1,26],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e":[4,0,2,0,0,1,12],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,0,1,10],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,0,1,5],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,0,1,2],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,1,29],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,1,41],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,0,1,8],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,1,47],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,1,25],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,1,52],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,1,17],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,1,33],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,1,58],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,1,20],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,1,18],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,1,49],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,1,55],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,1,53],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,1,44],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,1,36],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,1,39],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,0,1,9],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,1,35],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,1,27],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,1,14],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,1,32],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,1,24],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,1,19],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,0,1,7],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,1,21],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,1,43],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,1,48],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,0,1,56],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,1,15],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,1,50],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,1,13],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,1,42],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,1,37]
+"classllfio__v2__xxx_1_1path__view.html#abc5abda4e162d9a530fb73fa47a2f20a":[4,0,2,38,68],
+"classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a":[4,0,2,38,31],
+"classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d":[4,0,2,38,16],
+"classllfio__v2__xxx_1_1path__view.html#ac12652236847087552e7a8cc01ef5a71":[4,0,2,38,60],
+"classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee":[4,0,2,38,53],
+"classllfio__v2__xxx_1_1path__view.html#ac367f2c429245c567448780511f24c0d":[4,0,2,38,51],
+"classllfio__v2__xxx_1_1path__view.html#ac3a413fa5bbe8dbe10765bc790c1b762":[4,0,2,38,64],
+"classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f":[4,0,2,38,38],
+"classllfio__v2__xxx_1_1path__view.html#acef767fc47e96966c201baf528193204":[4,0,2,38,26],
+"classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e":[4,0,2,38,13],
+"classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956":[4,0,2,38,36],
+"classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025":[4,0,2,38,5],
+"classllfio__v2__xxx_1_1path__view.html#ad560fb8127764a5cf07357c07a35d8b0":[4,0,2,38,65],
+"classllfio__v2__xxx_1_1path__view.html#ad71dcb87f377236474b948d621b3b2a8":[4,0,2,38,63],
+"classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a":[4,0,2,38,48],
+"classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd":[4,0,2,38,2],
+"classllfio__v2__xxx_1_1path__view.html#ae324e5dac351729aa9513351218c5f54":[4,0,2,38,69],
+"classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca":[4,0,2,38,35],
+"classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30":[4,0,2,38,43],
+"classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c":[4,0,2,38,22],
+"classllfio__v2__xxx_1_1path__view.html#af286c0256f4800e35d816f4ba7571de4":[4,0,2,38,33],
+"classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8":[4,0,2,38,3],
+"classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad":[4,0,2,38,37],
+"classllfio__v2__xxx_1_1path__view__component.html":[4,0,2,39],
+"classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e":[4,0,2,39,9],
+"classllfio__v2__xxx_1_1path__view__component.html#a026f3fd0f948212028182d1b501dffbb":[4,0,2,39,16],
+"classllfio__v2__xxx_1_1path__view__component.html#a03281bf06f85b14622386bd87b9a947e":[4,0,2,39,46],
+"classllfio__v2__xxx_1_1path__view__component.html#a1531ffbbfb4d089a18f09809290190cc":[4,0,2,39,45],
+"classllfio__v2__xxx_1_1path__view__component.html#a1ffa562074527893c8be9c3a42b033b3":[4,0,2,39,37],
+"classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f":[4,0,2,39,33],
+"classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44":[4,0,2,39,23],
+"classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58":[4,0,2,39,19],
+"classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f":[4,0,2,39,24],
+"classllfio__v2__xxx_1_1path__view__component.html#a30a4470b61f5a1ea093392dc115c6e6c":[4,0,2,39,36],
+"classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5":[4,0,2,39,7],
+"classllfio__v2__xxx_1_1path__view__component.html#a38ff18893dfc84c562fb36c299702bf5":[4,0,2,39,1],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d":[4,0,2,39,4],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455":[4,0,2,39,4,2],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da939870da420c261803566b4aa696edd2":[4,0,2,39,4,0],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055":[4,0,2,39,4,4],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039":[4,0,2,39,4,3],
+"classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b":[4,0,2,39,4,1],
+"classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4":[4,0,2,39,8],
+"classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53":[4,0,2,39,26],
+"classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181":[4,0,2,39,32],
+"classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e":[4,0,2,39,5],
+"classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f":[4,0,2,39,5,1],
+"classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6":[4,0,2,39,5,0],
+"classllfio__v2__xxx_1_1path__view__component.html#a4a9a4f820db0394db4c89c45e514a33c":[4,0,2,39,38],
+"classllfio__v2__xxx_1_1path__view__component.html#a4b9a5f0abe97449212fac7607b5dadd5":[4,0,2,39,29],
+"classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af":[4,0,2,39,13],
+"classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1":[4,0,2,39,18],
+"classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948":[4,0,2,39,20],
+"classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a":[4,0,2,39,0],
+"classllfio__v2__xxx_1_1path__view__component.html#a7dfa033bda230ae9a1fdd60a17fb7880":[4,0,2,39,14],
+"classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec":[4,0,2,39,10],
+"classllfio__v2__xxx_1_1path__view__component.html#a93aef9d3a7c37537ec71bd788d0f7272":[4,0,2,39,15],
+"classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142":[4,0,2,39,6],
+"classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0":[4,0,2,39,22],
+"classllfio__v2__xxx_1_1path__view__component.html#a9c02c1b6cc56f8221abea75a1e92a776":[4,0,2,39,35],
+"classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878":[4,0,2,39,11],
+"classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63":[4,0,2,39,25],
+"classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82":[4,0,2,39,2],
+"classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec":[4,0,2,39,28],
+"classllfio__v2__xxx_1_1path__view__component.html#aac07b365ff507ce5493fdc608d48329c":[4,0,2,39,30],
+"classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0":[4,0,2,39,3],
+"classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71":[4,0,2,39,34],
+"classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d":[4,0,2,39,31],
+"classllfio__v2__xxx_1_1path__view__component.html#ac3a413fa5bbe8dbe10765bc790c1b762":[4,0,2,39,43],
+"classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204":[4,0,2,39,17],
+"classllfio__v2__xxx_1_1path__view__component.html#ad10ef737f6f91fc67cc2c26326b45c2f":[4,0,2,39,41],
+"classllfio__v2__xxx_1_1path__view__component.html#ad560fb8127764a5cf07357c07a35d8b0":[4,0,2,39,44],
+"classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858":[4,0,2,39,27],
+"classllfio__v2__xxx_1_1path__view__component.html#ad71dcb87f377236474b948d621b3b2a8":[4,0,2,39,42],
+"classllfio__v2__xxx_1_1path__view__component.html#add239c679a814a186146b28dcf3af6a6":[4,0,2,39,40],
+"classllfio__v2__xxx_1_1path__view__component.html#ae324e5dac351729aa9513351218c5f54":[4,0,2,39,48],
+"classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3":[4,0,2,39,12],
+"classllfio__v2__xxx_1_1path__view__component.html#af1fabc4bc53f545db0d3bb8e691ce3c2":[4,0,2,39,47],
+"classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4":[4,0,2,39,21],
+"classllfio__v2__xxx_1_1path__view__component.html#af88fe8557982430291ccf05fd2224f72":[4,0,2,39,39],
+"classllfio__v2__xxx_1_1pipe__handle.html":[4,0,2,40],
+"classllfio__v2__xxx_1_1pipe__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,40,55],
+"classllfio__v2__xxx_1_1pipe__handle.html#a0116ff078dc60da810a8170f4b7f6720":[4,0,2,40,18],
+"classllfio__v2__xxx_1_1pipe__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,40,56],
+"classllfio__v2__xxx_1_1pipe__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,40,61],
+"classllfio__v2__xxx_1_1pipe__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,40,57],
+"classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e":[4,0,2,40,22],
+"classllfio__v2__xxx_1_1pipe__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,40,44],
+"classllfio__v2__xxx_1_1pipe__handle.html#a0e3d363c01073647a00a2fbbd7b50fbf":[4,0,2,40,1],
+"classllfio__v2__xxx_1_1pipe__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60":[4,0,2,40,32],
+"classllfio__v2__xxx_1_1pipe__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,40,89],
+"classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85":[4,0,2,40,23],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,40,19],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1c3fa301d864c8863c4b464a10aec4e0":[4,0,2,40,106],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,40,86],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30":[4,0,2,40,21],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,40,125],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,40,117],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,40,101],
+"classllfio__v2__xxx_1_1pipe__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,40,109],
+"classllfio__v2__xxx_1_1pipe__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,40,111],
+"classllfio__v2__xxx_1_1pipe__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f":[4,0,2,40,39],
+"classllfio__v2__xxx_1_1pipe__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,40,72],
+"classllfio__v2__xxx_1_1pipe__handle.html#a2427c3fc217848e107af94fb0f1590ba":[4,0,2,40,97],
+"classllfio__v2__xxx_1_1pipe__handle.html#a281467f83f70f2e12aaedf5847fd818c":[4,0,2,40,90],
+"classllfio__v2__xxx_1_1pipe__handle.html#a30eca672189ffc408a4e01b064e8b78e":[4,0,2,40,51],
+"classllfio__v2__xxx_1_1pipe__handle.html#a31ccfbd651d91a4f00e5192e0614cf6c":[4,0,2,40,120],
+"classllfio__v2__xxx_1_1pipe__handle.html#a32c60dec78576807a163d370e7a47409":[4,0,2,40,13],
+"classllfio__v2__xxx_1_1pipe__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,40,67],
+"classllfio__v2__xxx_1_1pipe__handle.html#a359f780e7468407b38978cc5eb7b2555":[4,0,2,40,50],
+"classllfio__v2__xxx_1_1pipe__handle.html#a391dfad3885f1586224c44c6824e30eb":[4,0,2,40,11],
+"classllfio__v2__xxx_1_1pipe__handle.html#a3efccd17a106ade83e13cce154627c6f":[4,0,2,40,10],
+"classllfio__v2__xxx_1_1pipe__handle.html#a411cebe2880393c7c61caa6a168b128b":[4,0,2,40,85],
+"classllfio__v2__xxx_1_1pipe__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,40,102],
+"classllfio__v2__xxx_1_1pipe__handle.html#a4379e3f84b913f606bb2ec6a194d4380":[4,0,2,40,37],
+"classllfio__v2__xxx_1_1pipe__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,40,93],
+"classllfio__v2__xxx_1_1pipe__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,40,59],
+"classllfio__v2__xxx_1_1pipe__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,40,122],
+"classllfio__v2__xxx_1_1pipe__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,40,62],
+"classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57":[4,0,2,40,25],
+"classllfio__v2__xxx_1_1pipe__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,40,71],
+"classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530":[4,0,2,40,27],
+"classllfio__v2__xxx_1_1pipe__handle.html#a608634d1664d2a43fbdc2e18cae464ee":[4,0,2,40,53],
+"classllfio__v2__xxx_1_1pipe__handle.html#a65b5db5497f23147b46684d375cf2af3":[4,0,2,40,2],
+"classllfio__v2__xxx_1_1pipe__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,40,99],
+"classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4":[4,0,2,40,78],
+"classllfio__v2__xxx_1_1pipe__handle.html#a684c961072904a3a7c83198aa595bb0d":[4,0,2,40,35],
+"classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94":[4,0,2,40,79],
+"classllfio__v2__xxx_1_1pipe__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,40,68],
+"classllfio__v2__xxx_1_1pipe__handle.html#a69a64dbc83bff0cd3cdbdbbbf5790331":[4,0,2,40,5],
+"classllfio__v2__xxx_1_1pipe__handle.html#a6a1044eeb6ab16939e4669bbeb071b32":[4,0,2,40,47],
+"classllfio__v2__xxx_1_1pipe__handle.html#a6ad2a78d5e63c1f12f34e496e2cc999e":[4,0,2,40,34],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,40,43],
+"classllfio__v2__xxx_1_1pipe__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,40,88],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,40,66],
+"classllfio__v2__xxx_1_1pipe__handle.html#a78225352309cfe47ba4b88e218231cb6":[4,0,2,40,14],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7848ef15e774eacec7e4446a8c365a3d":[4,0,2,40,119],
+"classllfio__v2__xxx_1_1pipe__handle.html#a785c739c96c277a7a75135ee3b77548a":[4,0,2,40,104],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7891cea73fd80138fbfc9170c4777c16":[4,0,2,40,12],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,40,107],
+"classllfio__v2__xxx_1_1pipe__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,40,110],
+"classllfio__v2__xxx_1_1pipe__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,40,45],
+"classllfio__v2__xxx_1_1pipe__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,40,124],
+"classllfio__v2__xxx_1_1pipe__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,40,80],
+"classllfio__v2__xxx_1_1pipe__handle.html#a86e3e779f751e9732f237c2d60e8edb3":[4,0,2,40,9],
+"classllfio__v2__xxx_1_1pipe__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,40,87],
+"classllfio__v2__xxx_1_1pipe__handle.html#a883a0fd7de8f10fd8b67a8aee415d735":[4,0,2,40,52],
+"classllfio__v2__xxx_1_1pipe__handle.html#a89cb37107cf0ec70dc99ae1f944c1b1b":[4,0,2,40,95],
+"classllfio__v2__xxx_1_1pipe__handle.html#a8b0f191e25d4cf1315eeac2e428a4ee3":[4,0,2,40,30],
+"classllfio__v2__xxx_1_1pipe__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,40,73],
+"classllfio__v2__xxx_1_1pipe__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,40,77],
+"classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347":[4,0,2,40,29],
+"classllfio__v2__xxx_1_1pipe__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,40,116],
+"classllfio__v2__xxx_1_1pipe__handle.html#a97ac1b43da39d9935919ac848ee3e8d3":[4,0,2,40,42],
+"classllfio__v2__xxx_1_1pipe__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,40,65],
+"classllfio__v2__xxx_1_1pipe__handle.html#a9f6466750a7411512da502cd60d3c461":[4,0,2,40,17],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f":[4,0,2,40,40],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa0f48150ffdbd275ac910ecb70be282c":[4,0,2,40,121],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa1847e17496a22bc107f509c3cdfecdd":[4,0,2,40,54],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa3465a87f2c732cd6465cd3a832a26f0":[4,0,2,40,75],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa38e8a96767e65a11b7b12b08a4b44ca":[4,0,2,40,46],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d":[4,0,2,40,24],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,40,74],
+"classllfio__v2__xxx_1_1pipe__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,40,82],
+"classllfio__v2__xxx_1_1pipe__handle.html#aaad4d496ae011dced498bc46162917c2":[4,0,2,40,4],
+"classllfio__v2__xxx_1_1pipe__handle.html#aac0369e8025ae1320e7d607922f61b48":[4,0,2,40,83],
+"classllfio__v2__xxx_1_1pipe__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,40,92],
+"classllfio__v2__xxx_1_1pipe__handle.html#aaf0ed095bd68c7605af258e1e4e4d56d":[4,0,2,40,3],
+"classllfio__v2__xxx_1_1pipe__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,40,118],
+"classllfio__v2__xxx_1_1pipe__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,40,20],
+"classllfio__v2__xxx_1_1pipe__handle.html#ab955e35f67130e85f13048f984b3b5ac":[4,0,2,40,105],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac121cc7fa9d30c0c4ffecd0d8469c37d":[4,0,2,40,16],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,40,91],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,40,58],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac44b02d62334e55b99a5668d67ad484e":[4,0,2,40,76],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,40,81],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,40,63],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac7a2e68c2f5d49187ec3d179e40b33ea":[4,0,2,40,0],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,40,69],
+"classllfio__v2__xxx_1_1pipe__handle.html#ac93b34407da6944f70000b1dd656c8e7":[4,0,2,40,114],
+"classllfio__v2__xxx_1_1pipe__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,40,103],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad021935ffbf5f753f123ac5af723184f":[4,0,2,40,96],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e":[4,0,2,40,49],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad17b8879c355d86174187f198b70baaa":[4,0,2,40,31],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,40,100],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,40,98],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad622556b831bdc12bfd32552fd325529":[4,0,2,40,7],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,40,123],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad9538abba49629b0981480f654ffe63d":[4,0,2,40,6],
+"classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575":[4,0,2,40,26],
+"classllfio__v2__xxx_1_1pipe__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,40,41],
+"classllfio__v2__xxx_1_1pipe__handle.html#adc47501ff4d4278e497758643ddb332a":[4,0,2,40,38],
+"classllfio__v2__xxx_1_1pipe__handle.html#addf6cc73369f6d4f1e7b529e083552ab":[4,0,2,40,15],
+"classllfio__v2__xxx_1_1pipe__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,40,64],
+"classllfio__v2__xxx_1_1pipe__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,40,60],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a":[4,0,2,40,28],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae04ada27942187f03b59044cd1328f49":[4,0,2,40,84],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,40,70],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0":[4,0,2,40,94],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae1045e33170d615420a0f743bd8e5ec2":[4,0,2,40,8],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3":[4,0,2,40,33],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae8f08b7afac7020b8901eb9d353a817e":[4,0,2,40,115],
+"classllfio__v2__xxx_1_1pipe__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,40,112],
+"classllfio__v2__xxx_1_1pipe__handle.html#aea936231e3b8113562b9923bb660d64a":[4,0,2,40,36],
+"classllfio__v2__xxx_1_1pipe__handle.html#aee4c492a592eb15a5bf48e2d3deeec3a":[4,0,2,40,113],
+"classllfio__v2__xxx_1_1pipe__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,40,48],
+"classllfio__v2__xxx_1_1pipe__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,40,108],
+"classllfio__v2__xxx_1_1process__handle.html":[4,0,2,41],
+"classllfio__v2__xxx_1_1process__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,41,23],
+"classllfio__v2__xxx_1_1process__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,41,30],
+"classllfio__v2__xxx_1_1process__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,41,26],
+"classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6":[4,0,2,41,46],
+"classllfio__v2__xxx_1_1process__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,41,14],
+"classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9":[4,0,2,41,16],
+"classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7":[4,0,2,41,25],
+"classllfio__v2__xxx_1_1process__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,41,51],
+"classllfio__v2__xxx_1_1process__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,41,64],
+"classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976":[4,0,2,41,18],
+"classllfio__v2__xxx_1_1process__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,41,42],
+"classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd":[4,0,2,41,21],
+"classllfio__v2__xxx_1_1process__handle.html#a2940db04eeea67a2ec9d816135dbd536":[4,0,2,41,57],
+"classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2":[4,0,2,41,59],
+"classllfio__v2__xxx_1_1process__handle.html#a32d7120046bf8d178ca7faba27b69b46":[4,0,2,41,1],
+"classllfio__v2__xxx_1_1process__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,41,37],
+"classllfio__v2__xxx_1_1process__handle.html#a374e0db9af84a5dc1243123a9cb1b01c":[4,0,2,41,3],
+"classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec":[4,0,2,41,7],
+"classllfio__v2__xxx_1_1process__handle.html#a42079a878b650f345630b33b3c928dee":[4,0,2,41,60],
+"classllfio__v2__xxx_1_1process__handle.html#a42f3c8e10d4906207309ce7ac96823df":[4,0,2,41,61],
+"classllfio__v2__xxx_1_1process__handle.html#a4522151367326d82183568ad362e03a1":[4,0,2,41,10],
+"classllfio__v2__xxx_1_1process__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,41,54],
+"classllfio__v2__xxx_1_1process__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,41,28],
+"classllfio__v2__xxx_1_1process__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,41,31],
+"classllfio__v2__xxx_1_1process__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,41,41],
+"classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9":[4,0,2,41,17],
+"classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9":[4,0,2,41,36],
+"classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366":[4,0,2,41,48],
+"classllfio__v2__xxx_1_1process__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,41,38],
+"classllfio__v2__xxx_1_1process__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,41,13],
+"classllfio__v2__xxx_1_1process__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,41,52],
+"classllfio__v2__xxx_1_1process__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,41,35],
+"classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa":[4,0,2,41,22],
+"classllfio__v2__xxx_1_1process__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,41,15],
+"classllfio__v2__xxx_1_1process__handle.html#a8516637838bb68ecded754dc904430a6":[4,0,2,41,58],
+"classllfio__v2__xxx_1_1process__handle.html#a874778af80effa5e41c2a1d2c6885960":[4,0,2,41,62],
+"classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb":[4,0,2,41,47],
+"classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943":[4,0,2,41,19],
+"classllfio__v2__xxx_1_1process__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,41,43],
+"classllfio__v2__xxx_1_1process__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,41,44],
+"classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137":[4,0,2,41,24],
+"classllfio__v2__xxx_1_1process__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,41,34]
};
diff --git a/navtreeindex8.js b/navtreeindex8.js
index 5cb21a80..705f7c6d 100644
--- a/navtreeindex8.js
+++ b/navtreeindex8.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX8 =
{
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,1,51],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html":[4,0,2,0,1,3,0],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#a3e4939b7eed7dee1ae7b938ed21f0bc2":[4,0,2,0,1,3,0,0],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#ae31e6520a32c4f07c753ceeeeffbc047":[4,0,2,0,1,3,0,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html":[4,0,2,0,1,5,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f":[4,0,2,0,1,5,1,2],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191":[4,0,2,0,1,5,1,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6":[4,0,2,0,1,5,1,5],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716":[4,0,2,0,1,5,1,4],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#add9eada07537877fd3c2d0059f6972e3":[4,0,2,0,1,5,1,3],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81":[4,0,2,0,1,5,1,0],
-"structllfio__v2__xxx_1_1construct.html":[4,0,2,5],
-"structllfio__v2__xxx_1_1construct.html#a1ecc9741761ebaa5ca372378ab8fb902":[4,0,2,5,0],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html":[4,0,2,6],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a0cea99755d4dd7fd857e80c432c7c721":[4,0,2,6,1],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a550b3f92e930f861d893fbabfb4cd1eb":[4,0,2,6,0],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html":[4,0,2,7],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a1261a9ebd836e8a6d55d4941b16b466c":[4,0,2,7,4],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a8a9c7904bb3ea9fd5159d5405695999d":[4,0,2,7,0],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a9952eeac405673c72fe17c2272d9eb8d":[4,0,2,7,1],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ab2dce4583256d4496dc429b8990cad55":[4,0,2,7,3],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ac5e33b1e8ea06d184f5b0872513a171d":[4,0,2,7,7],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ad21509e768940ed200e710dd68ae5bf8":[4,0,2,7,6],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#adf70816f4afe6897f6fcfc7b5f49b3c7":[4,0,2,7,5],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ae152ee4b35a9e3ac5e7e385b29886103":[4,0,2,7,2],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html":[4,0,2,8],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a29756a86e009285fb711f6c582d395d7":[4,0,2,8,0],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a31f9cd583a2a709cab76bdd72a108f2b":[4,0,2,8,1],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aa9262bdcd513b6cb4b598dec84835cec":[4,0,2,8,5],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aadde6d9fb410db58ae37b069d3f16f31":[4,0,2,8,2],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#ab0814aefe3c103e08c222dfb2f832232":[4,0,2,8,4],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#abe3bdb5f77fd660bb15dc8987f30d468":[4,0,2,8,6],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#adf66b28253dc7c02134d0d0bac1d6e8b":[4,0,2,8,3],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html":[4,0,2,9],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#a674cce150aa7558602047c3f83f359ed":[4,0,2,9,3],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#aa19c09c0cb8af425ad79f8b7fc698659":[4,0,2,9,0],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#ab860793bdbf46c1d3da9500d6fca17a3":[4,0,2,9,1],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#af1562f8b6b902abb10439200d8917ca4":[4,0,2,9,2],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html":[4,0,2,10],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a1bcf48574533e425241e8c5cc61c815f":[4,0,2,10,5],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a2d65aba51ac38835bfbb4b998f3fe975":[4,0,2,10,0],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a87b731195a9cce60fce2c8b68dfbf6d5":[4,0,2,10,2],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a925599dc6a6847fd0e47db43d4e8d2e0":[4,0,2,10,6],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa16d2fb2dffec766022379d7742a06fe":[4,0,2,10,1],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa5dbc2e1e0363577d3e29c832871d8c7":[4,0,2,10,4],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aaf74200a4206016ae39a289e8759d967":[4,0,2,10,3],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html":[4,0,2,11],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a046ff1284b829b4121fe1d63cc5d191b":[4,0,2,11,4],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a7060dac835f180dc53f526b225f7f4d5":[4,0,2,11,1],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#abb95b453e85bdfc29aa6ab898add4746":[4,0,2,11,3],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ace71dd461300cd86897855fd465c7a8e":[4,0,2,11,0],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ad8d50a9cac68a3e441c46cce3b8fa628":[4,0,2,11,2],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html":[4,0,2,12],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a0104ba2b64a22dd223e64954a1855dd9":[4,0,2,12,5],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a10e4121ab35932b7b85b4cd2989c6811":[4,0,2,12,0],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a1285d5f82a85c7bebf2d47d7b626796b":[4,0,2,12,6],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a48372b9403bcb8ccaf07decd5edf7a41":[4,0,2,12,7],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a82fc63013eb5368fc3a0efe17440f7e9":[4,0,2,12,2],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a8ea52aad6ecbb298c34f1c0ee25421d9":[4,0,2,12,3],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ab6f55865b3a96c0c1433430ad19913d7":[4,0,2,12,4],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ac754d8cc2a5eb03041e1cd4f6c34917e":[4,0,2,12,1],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html":[4,0,2,13],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#a227669313e9340c70703b5d27e0cc0d4":[4,0,2,13,1],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#adb05fe97d8584c32fd91f6c7ae2b1f82":[4,0,2,13,0],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#ae75e42410f6a5a6f8a83c57c9a9208f3":[4,0,2,13,2],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html":[4,0,2,14],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a15940fc9eb4caeb0459a25688c7ab87b":[4,0,2,14,3],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a2a69095a0ab01a9ffb6163cac7f56216":[4,0,2,14,0],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#abfd0263f5f7df8eef8b577c5413cacd6":[4,0,2,14,2],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#af3df17dbf0f309c4973dd1dcbb3d9ec1":[4,0,2,14,1],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html":[4,0,2,15],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a2b039a2ed54afb395147ef5e4fb1b073":[4,0,2,15,0],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a36fc6cf04c06e1d03de4756e1daa546e":[4,0,2,15,4],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a3f7c5cf88dbce2bdc5770b6ed3ffbb48":[4,0,2,15,1],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a5c9f9ad24422d97bac5193b8f4187df2":[4,0,2,15,2],
-"structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html#a805d70248616fe04029f7c85353cb643":[4,0,2,15,3],
-"structllfio__v2__xxx_1_1deadline.html":[4,0,2,16],
-"structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b":[4,0,2,16,1],
-"structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545":[4,0,2,16,2],
-"structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359":[4,0,2,16,0],
-"structllfio__v2__xxx_1_1directory__entry.html":[4,0,2,17],
-"structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e":[4,0,2,17,0],
-"structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe":[4,0,2,17,1],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html":[4,0,2,18,0],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca":[4,0,2,18,0,5],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2":[4,0,2,18,0,3],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888":[4,0,2,18,0,2],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5":[4,0,2,18,0,6],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b":[4,0,2,18,0,4],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e":[4,0,2,18,0,7],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a8d1148aa4702fbdbf8386c39ade9df05":[4,0,2,18,0,1],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,18,0,8],
-"structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989":[4,0,2,18,0,0],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html":[4,0,2,18,1],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#a3978006ca70b2e28a1ae0dff588e3ff8":[4,0,2,18,1,3],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61":[4,0,2,18,1,0],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#abc2cf1fa90c9448418a99524fff8d5cd":[4,0,2,18,1,4],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#acef80df57e56c2e18a1987985a7d7590":[4,0,2,18,1,2],
-"structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#ae2aa943fa3f67f3d7254643e0a19bedf":[4,0,2,18,1,1],
-"structllfio__v2__xxx_1_1error__info.html":[4,0,2,20],
-"structllfio__v2__xxx_1_1error__info.html#a005a8988d90a60851592b9ce46f43c68":[4,0,2,20,0],
-"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html":[4,0,2,21,0],
-"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a3d3ce0d6e3463340ef4ffbd0b5b523cf":[4,0,2,21,0,0],
-"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a853281a0dd1013e6e441fa419c2ad8f0":[4,0,2,21,0,1],
-"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#a9d49b0269021bac52a119340604ac286":[4,0,2,21,0,2],
-"structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html#af67370f7251dde83b2947bfb4d080044":[4,0,2,21,0,3],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html":[4,0,2,25,0],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205":[4,0,2,25,0,12],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3":[4,0,2,25,0,1],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d":[4,0,2,25,0,14],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8":[4,0,2,25,0,16],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008":[4,0,2,25,0,4],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5":[4,0,2,25,0,2],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23":[4,0,2,25,0,10],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3f4dde94a96514f8d7fb614bd4cf7080":[4,0,2,25,0,8],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a4dd4efd8203c5e792b1c061f44d2e899":[4,0,2,25,0,7],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a56a4646d9e704624bc56c7290f9853b9":[4,0,2,25,0,18],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a56e6ad95e6034b0ab36fbe838a1b4999":[4,0,2,25,0,19],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5":[4,0,2,25,0,15],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db":[4,0,2,25,0,6],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36":[4,0,2,25,0,13],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed":[4,0,2,25,0,0],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b":[4,0,2,25,0,5],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2":[4,0,2,25,0,3],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c":[4,0,2,25,0,11],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2":[4,0,2,25,0,17],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad7075043097404f4ed5c48f38a5f5619":[4,0,2,25,0,9],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad98caa94c8bc7ca4937acafb4e9dee3d":[4,0,2,25,0,21],
-"structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba":[4,0,2,25,0,20],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html":[4,0,2,25,1],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5":[4,0,2,25,1,18],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62":[4,0,2,25,1,12],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40":[4,0,2,25,1,21],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1":[4,0,2,25,1,11],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e":[4,0,2,25,1,15],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7":[4,0,2,25,1,3],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a5af7ddbdfaf9eff2fc3d71c1cb5fb5ab":[4,0,2,25,1,9],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce":[4,0,2,25,1,7],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249":[4,0,2,25,1,0],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e":[4,0,2,25,1,1],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a878148d3f298383fbff896590067a3cb":[4,0,2,25,1,8],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554":[4,0,2,25,1,14],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77":[4,0,2,25,1,17],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce":[4,0,2,25,1,2],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa9f33c81f645130d3aa3b66dded241b1":[4,0,2,25,1,10],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e":[4,0,2,25,1,6],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac007a84fad051c1681ad9c5ab783cfa6":[4,0,2,25,1,20],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2":[4,0,2,25,1,13],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0":[4,0,2,25,1,4],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806":[4,0,2,25,1,5],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b":[4,0,2,25,1,16],
-"structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aedcce0152f572813a4045d8b18761364":[4,0,2,25,1,19],
-"structllfio__v2__xxx_1_1io__handle_1_1io__request.html":[4,0,2,25,2],
-"structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a185c78f884dd4ca0cd2fe49916903dae":[4,0,2,25,2,3],
-"structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a20032ac44283d6cd752da0db53229f53":[4,0,2,25,2,1],
-"structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a5bf8e3905f91fb5455088bdbc4cffb33":[4,0,2,25,2,2],
-"structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a937bb57c341897ce6434e75a34e324cc":[4,0,2,25,2,0],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html":[4,0,2,25,3],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a458ac6f7315d452180e7ed89f9ceba83":[4,0,2,25,3,8],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a":[4,0,2,25,3,5],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18":[4,0,2,25,3,7],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a80942d3d1854695f772ec4b12962aa63":[4,0,2,25,3,1],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a90bee69c746e646458e0d255ce18668d":[4,0,2,25,3,3],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ab4cec8941a442e257aab1f0fd615a8a3":[4,0,2,25,3,6],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#acc75d0f4c3003db5eed4d6ef1122e77a":[4,0,2,25,3,0],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ae49f06f0a4b9f268b413181ccf75fd8f":[4,0,2,25,3,2],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#aea1d610bc13166971300720b194feb64":[4,0,2,25,3,4],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html":[4,0,2,26,0],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a00191d017cabcae0bd140d8027174ad7":[4,0,2,26,0,3],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85":[4,0,2,26,0,0],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a36478f1b79b50373f6f2336c5d492501":[4,0,2,26,0,1],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a8699e5b9a1245b99956fdd584249b18c":[4,0,2,26,0,2],
-"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#abe3c60300a5c6ba7d5b79cb80c0d06c4":[4,0,2,26,0,4],
-"structllfio__v2__xxx_1_1native__handle__type.html":[4,0,2,31],
-"structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd":[4,0,2,31,12],
-"structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8":[4,0,2,31,13],
-"structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672":[4,0,2,31,11],
-"structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29":[4,0,2,31,20],
-"structllfio__v2__xxx_1_1native__handle__type.html#a2329417e016cd5ccd01794937c4eec3b":[4,0,2,31,23],
-"structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d":[4,0,2,31,6],
-"structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524":[4,0,2,31,3],
-"structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed":[4,0,2,31,24],
-"structllfio__v2__xxx_1_1native__handle__type.html#a4b4b6662c7efc8b95937a60cf6285d3a":[4,0,2,31,26],
-"structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078":[4,0,2,31,17],
-"structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af":[4,0,2,31,27],
-"structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45":[4,0,2,31,10],
-"structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc":[4,0,2,31,29],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c":[4,0,2,31,2],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444":[4,0,2,31,16],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c":[4,0,2,31,8],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa9e3ba4e787524be1a1715f75586d5fe":[4,0,2,31,1],
-"structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489":[4,0,2,31,22],
-"structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3":[4,0,2,31,18],
-"structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e":[4,0,2,31,25],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415":[4,0,2,31,21],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9":[4,0,2,31,4],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5":[4,0,2,31,9],
-"structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32":[4,0,2,31,15],
-"structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d":[4,0,2,31,5],
-"structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca":[4,0,2,31,14],
-"structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd":[4,0,2,31,7],
-"structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c":[4,0,2,31,19],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd":[4,0,2,31,0],
-"structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481":[4,0,2,31,28],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html":[4,0,2,1,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a330a98525d5d2d1d51f3ddbcf25dac2f":[4,0,2,1,0,3],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f":[4,0,2,1,0,1],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61":[4,0,2,1,0,2],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d":[4,0,2,1,0,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176":[4,0,2,1,0,0,3],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a":[4,0,2,1,0,0,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96":[4,0,2,1,0,0,2],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354":[4,0,2,1,0,0,4],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2":[4,0,2,1,0,0,1],
-"structllfio__v2__xxx_1_1path__hasher.html":[4,0,2,33],
-"structllfio__v2__xxx_1_1path__hasher.html#a0cfdbdc3f8a3e83ce47944bb3ef3bffa":[4,0,2,33,0],
-"structllfio__v2__xxx_1_1stat__t.html":[4,0,2,37],
-"structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2":[4,0,2,37,20],
-"structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518":[4,0,2,37,21],
-"structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532":[4,0,2,37,14],
-"structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9":[4,0,2,37,6],
-"structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214":[4,0,2,37,24],
-"structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2":[4,0,2,37,23],
-"structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752":[4,0,2,37,13],
-"structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7":[4,0,2,37,4],
-"structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506":[4,0,2,37,11],
-"structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d":[4,0,2,37,5],
-"structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f":[4,0,2,37,10],
-"structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542":[4,0,2,37,8],
-"structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29":[4,0,2,37,9],
-"structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61":[4,0,2,37,7],
-"structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581":[4,0,2,37,2],
-"structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b":[4,0,2,37,15],
-"structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7":[4,0,2,37,3],
-"structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4":[4,0,2,37,1],
-"structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f":[4,0,2,37,19],
-"structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a":[4,0,2,37,22],
-"structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c":[4,0,2,37,12],
-"structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b":[4,0,2,37,25],
-"structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2":[4,0,2,37,16],
-"structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4":[4,0,2,37,18],
-"structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f":[4,0,2,37,0],
-"structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4":[4,0,2,37,17],
-"structllfio__v2__xxx_1_1statfs__t.html":[4,0,2,38],
-"structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb":[4,0,2,38,1],
-"structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b":[4,0,2,38,9],
-"structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771":[4,0,2,38,16],
-"structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46":[4,0,2,38,5],
-"structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d":[4,0,2,38,13],
-"structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428":[4,0,2,38,2]
+"classllfio__v2__xxx_1_1process__handle.html#a9cceb31bebf51f6b2fe78b236aa9bdb3":[4,0,2,41,63],
+"classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67":[4,0,2,41,9],
+"classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d":[4,0,2,41,49],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,41,6],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,41,6,1],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,41,6,0],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,41,6,6],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,41,6,3],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,41,6,2],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,41,6,4],
+"classllfio__v2__xxx_1_1process__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,41,6,5],
+"classllfio__v2__xxx_1_1process__handle.html#aa7e16281bce4c3bb7cf1bf337dd5b7ac":[4,0,2,41,2],
+"classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55":[4,0,2,41,8],
+"classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4":[4,0,2,41,20],
+"classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83":[4,0,2,41,53],
+"classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583":[4,0,2,41,45],
+"classllfio__v2__xxx_1_1process__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,41,27],
+"classllfio__v2__xxx_1_1process__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,41,32],
+"classllfio__v2__xxx_1_1process__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,41,39],
+"classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c":[4,0,2,41,11],
+"classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e":[4,0,2,41,12],
+"classllfio__v2__xxx_1_1process__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,41,33],
+"classllfio__v2__xxx_1_1process__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,41,29],
+"classllfio__v2__xxx_1_1process__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,41,40],
+"classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888":[4,0,2,41,55],
+"classllfio__v2__xxx_1_1process__handle.html#ae73288bf23a8408d782e45afd157a89f":[4,0,2,41,50],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,41,4],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,41,4,3],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,41,4,1],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,41,4,0],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,41,4,6],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,41,4,5],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,41,4,2],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,41,4,7],
+"classllfio__v2__xxx_1_1process__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,41,4,4],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,41,5],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,41,5,2],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,41,5,0],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,41,5,3],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,41,5,1],
+"classllfio__v2__xxx_1_1process__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,41,5,4],
+"classllfio__v2__xxx_1_1process__handle.html#af247a46b6be5d4b89036883c4fbf6740":[4,0,2,41,56],
+"classllfio__v2__xxx_1_1read__receiver.html":[4,0,2,42],
+"classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c":[4,0,2,42,2],
+"classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406":[4,0,2,42,3],
+"classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d":[4,0,2,42,6],
+"classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976":[4,0,2,42,5],
+"classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8":[4,0,2,42,4],
+"classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3":[4,0,2,42,1],
+"classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1":[4,0,2,42,0],
+"classllfio__v2__xxx_1_1section__handle.html":[4,0,2,43],
+"classllfio__v2__xxx_1_1section__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,43,19],
+"classllfio__v2__xxx_1_1section__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,43,20],
+"classllfio__v2__xxx_1_1section__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,43,25],
+"classllfio__v2__xxx_1_1section__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,43,21],
+"classllfio__v2__xxx_1_1section__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,43,13],
+"classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a":[4,0,2,43,8],
+"classllfio__v2__xxx_1_1section__handle.html#a0eef87db368c1c6b6150ee4d5392c54b":[4,0,2,43,6],
+"classllfio__v2__xxx_1_1section__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,43,48],
+"classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441":[4,0,2,43,39],
+"classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,43,45],
+"classllfio__v2__xxx_1_1section__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,43,57],
+"classllfio__v2__xxx_1_1section__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,43,37],
+"classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9":[4,0,2,43,10],
+"classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733":[4,0,2,43,51],
+"classllfio__v2__xxx_1_1section__handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,43,1],
+"classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d":[4,0,2,43,7],
+"classllfio__v2__xxx_1_1section__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,43,32],
+"classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82":[4,0,2,43,27],
+"classllfio__v2__xxx_1_1section__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,43,50],
+"classllfio__v2__xxx_1_1section__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,43,23],
+"classllfio__v2__xxx_1_1section__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,43,26],
+"classllfio__v2__xxx_1_1section__handle.html#a508cd333b972b87a6e0dd63c4d05d30b":[4,0,2,43,53],
+"classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab":[4,0,2,43,43],
+"classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b":[4,0,2,43,41],
+"classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a":[4,0,2,43,42],
+"classllfio__v2__xxx_1_1section__handle.html#a5b3323b6f5554b863c7f104de9519c86":[4,0,2,43,54],
+"classllfio__v2__xxx_1_1section__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,43,36],
+"classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8":[4,0,2,43,15],
+"classllfio__v2__xxx_1_1section__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,43,33],
+"classllfio__v2__xxx_1_1section__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,43,12],
+"classllfio__v2__xxx_1_1section__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,43,46],
+"classllfio__v2__xxx_1_1section__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,43,31],
+"classllfio__v2__xxx_1_1section__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,43,14],
+"classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00":[4,0,2,43,49],
+"classllfio__v2__xxx_1_1section__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,43,38],
+"classllfio__v2__xxx_1_1section__handle.html#a91a4e4110fe6ed6358de00de3ae934d1":[4,0,2,43,0],
+"classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,43,40],
+"classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8":[4,0,2,43,9],
+"classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d":[4,0,2,43,18],
+"classllfio__v2__xxx_1_1section__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,43,30],
+"classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4":[4,0,2,43,47],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,43,5],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,43,5,1],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,43,5,0],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,43,5,6],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,43,5,3],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,43,5,2],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,43,5,4],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,43,5,5],
+"classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80":[4,0,2,43,52],
+"classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20":[4,0,2,43,11],
+"classllfio__v2__xxx_1_1section__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,43,22],
+"classllfio__v2__xxx_1_1section__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,43,28],
+"classllfio__v2__xxx_1_1section__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,43,34],
+"classllfio__v2__xxx_1_1section__handle.html#ad057ca569878e127389457e80e0f393d":[4,0,2,43,44],
+"classllfio__v2__xxx_1_1section__handle.html#ad623089ad47d566d5eeaefe202dbf3a0":[4,0,2,43,2],
+"classllfio__v2__xxx_1_1section__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,43,56],
+"classllfio__v2__xxx_1_1section__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,43,29],
+"classllfio__v2__xxx_1_1section__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,43,24],
+"classllfio__v2__xxx_1_1section__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,43,35],
+"classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a":[4,0,2,43,16],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,43,3],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,43,3,3],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,43,3,1],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,43,3,0],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,43,3,6],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,43,3,5],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,43,3,2],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,43,3,7],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,43,3,4],
+"classllfio__v2__xxx_1_1section__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,43,17],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,43,4],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,43,4,2],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,43,4,0],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,43,4,3],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,43,4,1],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,43,4,4],
+"classllfio__v2__xxx_1_1section__handle.html#aff579de98516b809327d4443ad8eb84a":[4,0,2,43,55],
+"classllfio__v2__xxx_1_1symlink__handle.html":[4,0,2,46],
+"classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8":[4,0,2,46,84],
+"classllfio__v2__xxx_1_1symlink__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,46,33],
+"classllfio__v2__xxx_1_1symlink__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,46,38],
+"classllfio__v2__xxx_1_1symlink__handle.html#a028fbead3b3c4d4eed2da7fa51c75036":[4,0,2,46,34],
+"classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf":[4,0,2,46,20],
+"classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2":[4,0,2,46,7],
+"classllfio__v2__xxx_1_1symlink__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,46,28],
+"classllfio__v2__xxx_1_1symlink__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,46,63],
+"classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6":[4,0,2,46,67],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002":[4,0,2,46,19],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,46,19,0],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939":[4,0,2,46,19,2],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559":[4,0,2,46,19,1],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a":[4,0,2,46,19,3],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,46,17],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,46,59],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,46,89],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1eeaf9d77a1279b4f0d3062de509f77f":[4,0,2,46,71],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b":[4,0,2,46,61],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1fc4e2ade67dfb9140007cc31f4b6b20":[4,0,2,46,76],
+"classllfio__v2__xxx_1_1symlink__handle.html#a209de025a2d3e202a61c50b52d43f2af":[4,0,2,46,81],
+"classllfio__v2__xxx_1_1symlink__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,46,49],
+"classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3":[4,0,2,46,31],
+"classllfio__v2__xxx_1_1symlink__handle.html#a2aa9a90053f33201b054d79cc0c04d82":[4,0,2,46,79],
+"classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d":[4,0,2,46,21],
+"classllfio__v2__xxx_1_1symlink__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,46,44],
+"classllfio__v2__xxx_1_1symlink__handle.html#a41ea4bd2d5a66fbde4cdbfe463166a4f":[4,0,2,46,72],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,46,66],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4970f4d5ce8405cce62715af55b0e9f0":[4,0,2,46,8],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b":[4,0,2,46,54],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,46,36],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,46,86],
+"classllfio__v2__xxx_1_1symlink__handle.html#a501aa723172f6852e82738b0969278ae":[4,0,2,46,39],
+"classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf":[4,0,2,46,53],
+"classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a":[4,0,2,46,15],
+"classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd":[4,0,2,46,5],
+"classllfio__v2__xxx_1_1symlink__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,46,48],
+"classllfio__v2__xxx_1_1symlink__handle.html#a65d73e0e89bac484ce40427b58dcfe53":[4,0,2,46,69],
+"classllfio__v2__xxx_1_1symlink__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,46,45],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,46,27],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447":[4,0,2,46,85],
+"classllfio__v2__xxx_1_1symlink__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,46,62],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,46,43],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7f5f9892f6652359f2330bf6d9b89e17":[4,0,2,46,74],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7f77a249baf4e0c5de2172669a7724d7":[4,0,2,46,80],
+"classllfio__v2__xxx_1_1symlink__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,46,29],
+"classllfio__v2__xxx_1_1symlink__handle.html#a82746ab06b526c8049aed722e6eeaa88":[4,0,2,46,12],
+"classllfio__v2__xxx_1_1symlink__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,46,88],
+"classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,46,55],
+"classllfio__v2__xxx_1_1symlink__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,46,50],
+"classllfio__v2__xxx_1_1symlink__handle.html#a910d8c7337384d2a04f030366757fa62":[4,0,2,46,11],
+"classllfio__v2__xxx_1_1symlink__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,46,52],
+"classllfio__v2__xxx_1_1symlink__handle.html#a965c39e7c0278de63cb33b7e0b5d0bf5":[4,0,2,46,9],
+"classllfio__v2__xxx_1_1symlink__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,46,83],
+"classllfio__v2__xxx_1_1symlink__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,46,42],
+"classllfio__v2__xxx_1_1symlink__handle.html#a9bb14bb85eec86532bb63178aca00580":[4,0,2,46,14],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa7770c6b7c478d74654f25b8c1a1585c":[4,0,2,46,51],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,46,57],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa843ccfa486fe6d7d2772988d08d5e72":[4,0,2,46,6],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da":[4,0,2,46,58],
+"classllfio__v2__xxx_1_1symlink__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,46,65],
+"classllfio__v2__xxx_1_1symlink__handle.html#ab18ef0717520ff000a975f26c9d48c1b":[4,0,2,46,13],
+"classllfio__v2__xxx_1_1symlink__handle.html#ab82a83c5e44659e01a2218f0af41bde7":[4,0,2,46,18],
+"classllfio__v2__xxx_1_1symlink__handle.html#ab84e4bb0a339810f8351b491f1525a61":[4,0,2,46,78],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f":[4,0,2,46,23],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1":[4,0,2,46,24],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,46,64],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac2b320abbe2e64eb86da427bc7e48f67":[4,0,2,46,77],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,46,35],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,46,56],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e":[4,0,2,46,40],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea":[4,0,2,46,46],
+"classllfio__v2__xxx_1_1symlink__handle.html#acbb1fe8c7901382307d84848fdc0afcb":[4,0,2,46,73],
+"classllfio__v2__xxx_1_1symlink__handle.html#acebc87ad5ec328f4d2395d5b8905ee0a":[4,0,2,46,25],
+"classllfio__v2__xxx_1_1symlink__handle.html#ad2703814c7599d2081ca10763bbeba4a":[4,0,2,46,70],
+"classllfio__v2__xxx_1_1symlink__handle.html#ad43b812385c7fc8aae9e59838a1411bb":[4,0,2,46,68],
+"classllfio__v2__xxx_1_1symlink__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,46,87],
+"classllfio__v2__xxx_1_1symlink__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,46,26],
+"classllfio__v2__xxx_1_1symlink__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,46,41],
+"classllfio__v2__xxx_1_1symlink__handle.html#ade2416b9154d1e56937c99cd514324f8":[4,0,2,46,37],
+"classllfio__v2__xxx_1_1symlink__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,46,47],
+"classllfio__v2__xxx_1_1symlink__handle.html#ae9c4133fef23811abcb01e1faf2b19d3":[4,0,2,46,82],
+"classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746":[4,0,2,46,32],
+"classllfio__v2__xxx_1_1symlink__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,46,30],
+"classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf":[4,0,2,46,22],
+"classllfio__v2__xxx_1_1symlink__handle.html#af5565cd5f2fcbb9472b2a00795cc0bcc":[4,0,2,46,75],
+"classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b":[4,0,2,46,16],
+"classllfio__v2__xxx_1_1symlink__handle.html#afd78d540ca27fb62d96fb5444353ba42":[4,0,2,46,10],
+"classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c":[4,0,2,46,60],
+"classllfio__v2__xxx_1_1unique__file__lock.html":[4,0,2,47],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb":[4,0,2,47,6],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0":[4,0,2,47,5],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a26d6f6539cc116675e40fe8aa4aedf6f":[4,0,2,47,2],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1":[4,0,2,47,12],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a4811cd80ae69eb2d72415bb02447a90d":[4,0,2,47,1],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a908422e42d0bcd7a85c137bdbb26a734":[4,0,2,47,0],
+"classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2":[4,0,2,47,16],
+"classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83":[4,0,2,47,14],
+"classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106":[4,0,2,47,11],
+"classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948":[4,0,2,47,13],
+"classllfio__v2__xxx_1_1unique__file__lock.html#ac36bf06c91beaaa0e0e67ef7d829398b":[4,0,2,47,4],
+"classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16":[4,0,2,47,7],
+"classllfio__v2__xxx_1_1unique__file__lock.html#acbe0708675bc8e1020edaebac8ce88af":[4,0,2,47,9],
+"classllfio__v2__xxx_1_1unique__file__lock.html#ace176060fd88ebd3ef26427d187855b8":[4,0,2,47,10],
+"classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b":[4,0,2,47,8],
+"classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694":[4,0,2,47,15],
+"classllfio__v2__xxx_1_1unique__file__lock.html#af4cb3edf03da4755ac62086708d8d360":[4,0,2,47,3],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html":[4,0,2,3,0],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a044de0369e4922815dd4b0b9b9358596":[4,0,2,3,0,15],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a119e460ac0d6e5987774e6e1e6f0b002":[4,0,2,3,0,8],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a1246b56d936c565437290594290e4224":[4,0,2,3,0,10],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a14fbf76cf636d64fc7a609b3949c3639":[4,0,2,3,0,12],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2e69dcb54c7f3b4a52029132c8f3e69a":[4,0,2,3,0,6],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2fdf39a4237fa1d2157f2ca8fd7d1d35":[4,0,2,3,0,16],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a60c5717e35b270b8d84d15ae368868ad":[4,0,2,3,0,18],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a6352a99ad2aff8c64948ac89de105de7":[4,0,2,3,0,7],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a719169e26237ebeeecd9329e2a21d0c3":[4,0,2,3,0,9],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a7e5cee674068d9a88f7f61b4c96764da":[4,0,2,3,0,2],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a":[4,0,2,3,0,13],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ac3ac5503b4fd6ac4331c2240bddd5a0e":[4,0,2,3,0,3]
};
diff --git a/navtreeindex9.js b/navtreeindex9.js
index 15ccc64f..c18e1f8d 100644
--- a/navtreeindex9.js
+++ b/navtreeindex9.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX9 =
{
-"structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c":[4,0,2,38,11],
-"structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2":[4,0,2,38,8],
-"structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786":[4,0,2,38,14],
-"structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060":[4,0,2,38,10],
-"structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d":[4,0,2,38,7],
-"structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962":[4,0,2,38,4],
-"structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7":[4,0,2,38,17],
-"structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e":[4,0,2,38,12],
-"structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0":[4,0,2,38,15],
-"structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426":[4,0,2,38,3],
-"structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf":[4,0,2,38,6],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html":[4,0,2,38,0],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243":[4,0,2,38,0,7],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf":[4,0,2,38,0,0],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b":[4,0,2,38,0,4],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2":[4,0,2,38,0,2],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879":[4,0,2,38,0,5],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44":[4,0,2,38,0,6],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411":[4,0,2,38,0,1],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1":[4,0,2,38,0,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html":[4,0,2,2,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,0,8],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b":[4,0,2,2,0,10],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885":[4,0,2,2,0,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e2758a838e47ddbfc11631d17c4afb9":[4,0,2,2,0,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,0,6],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,0,9],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aa0915c8cc88430ce45597255d7b56986":[4,0,2,2,0,7],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#acdf903dda426a6431fe90414b4f705ae":[4,0,2,2,0,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ad7571c38bb9b0d9f09dcca143ac9946f":[4,0,2,2,0,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ae0eee78db1a35ba06d11a76e677ca9f9":[4,0,2,2,0,5],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa":[4,0,2,2,0,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html":[4,0,2,2,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,1,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,1,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,1,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a9d8245c86d34ff3d0f731372bb60ced2":[4,0,2,2,1,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0":[4,0,2,2,1,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html":[4,0,2,2,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a0f52f8d9769f034435b0ea5080bf3488":[4,0,2,2,2,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,2,11],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd":[4,0,2,2,2,5],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,2,10],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,2,12],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a9973b036cdc9d3cc2908985b941c72fe":[4,0,2,2,2,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aaab359e27526e19fbc3c517e054d25ed":[4,0,2,2,2,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aad6ddffb9c8cf453b261780d0f3895d5":[4,0,2,2,2,8],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#abea7c179188a0ae728982bf8ad50d200":[4,0,2,2,2,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac160dd97720832a067feda5ca5cb4e5f":[4,0,2,2,2,7],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac9d90b19b6419bcfb07dd0c7dc546713":[4,0,2,2,2,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f":[4,0,2,2,2,6],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#af077e4ae520692425c2ea74dd1246570":[4,0,2,2,2,9],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html":[4,0,2,2,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a009c613344a42f0afc9301cfcb1d6578":[4,0,2,2,3,17],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a06e404bc2d1dc0ecf94f8d9a9fc69972":[4,0,2,2,3,94],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0e300d7284c629851be9670a257cd984":[4,0,2,2,3,22],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0f968e990ff1492c52e976da6e472f9d":[4,0,2,2,3,70],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b":[4,0,2,2,3,9],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1a35314c5647ff0e526de50891d3be7d":[4,0,2,2,3,59],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a20d71bd98a2dc4db195adbf6fd50bc17":[4,0,2,2,3,85],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a220be32bea5fce7b164740ed6299f221":[4,0,2,2,3,54],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a222ad22d9198707c555930345eff84ed":[4,0,2,2,3,76],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2276f3a9cb565d52b6ee778aeec060d5":[4,0,2,2,3,89],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2315e230b1fabf9e1121d04fff05dc37":[4,0,2,2,3,60],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a241f0cdd60088ce514b71f460dd555f4":[4,0,2,2,3,81],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2487955267187932374815ab4822027b":[4,0,2,2,3,61],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2673f599a3a837abe8d03514d59e845c":[4,0,2,2,3,55],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59":[4,0,2,2,3,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a2c36320756f2b5c7bd1a11118d9cd4f8":[4,0,2,2,3,65],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a303fe2641c3c75488b11747d20907574":[4,0,2,2,3,75],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a349ded127a1defc9606a3c5bd4d4f726":[4,0,2,2,3,42],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a385e90599d598c19714b7beb0cfb259d":[4,0,2,2,3,39],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a41b8fcef40890ff14e802c2382a6e5d8":[4,0,2,2,3,44],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a42c30f1e55c74f9c5343b63fca5cea4d":[4,0,2,2,3,95],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392":[4,0,2,2,3,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a46abd1f25c8e3209b58c45e5b019f787":[4,0,2,2,3,69],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ae53650441ee5d65ab33175af262a39":[4,0,2,2,3,41],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490":[4,0,2,2,3,13],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4cfa77a5b44e98627c6027c5104cc699":[4,0,2,2,3,77],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f":[4,0,2,2,3,14],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a53f7ea612f6a206e0690af1091646910":[4,0,2,2,3,19],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a54bee32017d716c65c0a7efdad0ee1b5":[4,0,2,2,3,92],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97":[4,0,2,2,3,11],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a5a515a8ee1d4cdc3c98b6d41ee282fba":[4,0,2,2,3,23],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a612045451fb94d2921143bfc7d6cc575":[4,0,2,2,3,25],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08":[4,0,2,2,3,10],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6200afd35c989f174f603f7803ae3b9e":[4,0,2,2,3,35],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6268321ec8dfee09952dcb8364e93c27":[4,0,2,2,3,57],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a70f32c33de7d02ed2c39ff98b1027ce1":[4,0,2,2,3,31],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a72eb6a03e4839c996c6f564023b55851":[4,0,2,2,3,36],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a76ce22e1d0cf3f799c4766e90719a92a":[4,0,2,2,3,52],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973":[4,0,2,2,3,6],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a783d8c842e037ee85754d52af149cdcb":[4,0,2,2,3,72],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a799a4802bc79900b591bc3227588c264":[4,0,2,2,3,51],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a7dda252a1376635a06a6d47f1584abdf":[4,0,2,2,3,18],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a807a39d41640802c9c857693c7571633":[4,0,2,2,3,45],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d":[4,0,2,2,3,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a888a7743a781b850528458de2fcea559":[4,0,2,2,3,93],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a8c4e9ef8e341a55c274048f8e0fc0296":[4,0,2,2,3,80],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a95b44bf265801f0cbce2e5e3c6017966":[4,0,2,2,3,47],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6":[4,0,2,2,3,5],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a97fdeb0183b87e87d595cfc9d93500da":[4,0,2,2,3,43],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9806ca270c0efa886c80405f95971b7d":[4,0,2,2,3,50],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9dba1344070b4a6175e8cae6c4f1347d":[4,0,2,2,3,30],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa279739048f7e2ef84cee6dbf4f27d74":[4,0,2,2,3,83],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa33ffe155d56a67eef70a4e10748e616":[4,0,2,2,3,62],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa417c1a68ed3072ea3c5fa6c604c129a":[4,0,2,2,3,29],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa60d02636b5990bd66b560a67a31ae72":[4,0,2,2,3,68],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa7f50aa7235858cde986ea9a26381f3b":[4,0,2,2,3,53],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa911cc7ceeb937c2e7b17929f78b4ab2":[4,0,2,2,3,7],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aabc4c76ae832bae66112f0f652a15dea":[4,0,2,2,3,34],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aad55f1e36644d0477b413f92064e88c6":[4,0,2,2,3,32],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aaf6683dae3b74185360d5b6b3cd01202":[4,0,2,2,3,71],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab2c9c64343a7a5d1b627d4600193601f":[4,0,2,2,3,24],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab3b3aa3747cfb1e2e2890ee99003c087":[4,0,2,2,3,49],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab602c4b6ebe5f30cce8f745cbafe7c53":[4,0,2,2,3,33],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab8c970b2f0eabac132840f5f1818f2f3":[4,0,2,2,3,27],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abaa22b10dc7620d7b8a5bc43dc0a1952":[4,0,2,2,3,84],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133":[4,0,2,2,3,8],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac0fd7584753593cb5499b3069e13d056":[4,0,2,2,3,56],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac6e28bb3dec6b0531f7267a01d295486":[4,0,2,2,3,40],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923":[4,0,2,2,3,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac9f186c0dee82daaebf7b880e615efb0":[4,0,2,2,3,87],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acab0c98c93149616bddb937fcddeafef":[4,0,2,2,3,78],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#accda92d5c8ff679c32218792b9933aeb":[4,0,2,2,3,46],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ace1bcc49772be69abd8d43c7d83c51c5":[4,0,2,2,3,88],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acf09944b61a0e84f7d72dd4a87ffb76d":[4,0,2,2,3,79],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de":[4,0,2,2,3,15],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad774e9a30fc6ebd9e470309c72087f36":[4,0,2,2,3,91],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad9c9da18153377245b960558ff48b5bc":[4,0,2,2,3,66],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541":[4,0,2,2,3,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#adec0a74a4c294c7e38cd65a1799ba741":[4,0,2,2,3,86],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae28eeb863bc8f82ba4882e207d599bec":[4,0,2,2,3,90],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae37d5c2b27d30a4c7aa8ce2138616f09":[4,0,2,2,3,38],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae53b85910a23f259b6ce560cd1763b55":[4,0,2,2,3,74],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae8860b3934d76d9e0b1d6a3eadd9676b":[4,0,2,2,3,73],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aeab36fcf8c59f75987aba182ac46638e":[4,0,2,2,3,28],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aec674f9bb82befe1f9988e743eabba3b":[4,0,2,2,3,26],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aed82185c960d98285f610aaaa5f1fd64":[4,0,2,2,3,20],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af0ac2be1da6f65e1f607c7788ebbdd73":[4,0,2,2,3,67],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af29b8cdeb4dd83912687b8fe68c703b7":[4,0,2,2,3,37],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af4bd372d9c265d26eadb2f1b4a494c12":[4,0,2,2,3,58],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b":[4,0,2,2,3,16],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af694347286b66f45e66b03d7825350d3":[4,0,2,2,3,21],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af7beaacfc3e7e47ef2392dfeac421b5d":[4,0,2,2,3,82],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af8906857ccc0bc91120d1d05f632b91d":[4,0,2,2,3,64],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4":[4,0,2,2,3,12],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd256f7447d897d67d2117339b6b4ba3":[4,0,2,2,3,48],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd8951bd4ad42ee68229e6c9e43bafa1":[4,0,2,2,3,63],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html":[4,0,2,39,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,39,0,19],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796":[4,0,2,39,0,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38":[4,0,2,39,0,13],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570":[4,0,2,39,0,9],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a32745ecde75b89de1687b479f26f0007":[4,0,2,39,0,6],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848":[4,0,2,39,0,7],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1":[4,0,2,39,0,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c":[4,0,2,39,0,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b":[4,0,2,39,0,17],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa":[4,0,2,39,0,16],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a":[4,0,2,39,0,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636":[4,0,2,39,0,15],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890":[4,0,2,39,0,8],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2":[4,0,2,39,0,5],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d":[4,0,2,39,0,12],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a":[4,0,2,39,0,18],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0":[4,0,2,39,0,11],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623":[4,0,2,39,0,14],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a":[4,0,2,39,0,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1":[4,0,2,39,0,10],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html":[4,0,2,39,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a0f67fea6217ef875f99985509e6a377a":[4,0,2,39,1,5],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec":[4,0,2,39,1,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,39,1,18],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11":[4,0,2,39,1,7],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40":[4,0,2,39,1,13],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9":[4,0,2,39,1,10],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6":[4,0,2,39,1,6],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9":[4,0,2,39,1,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba":[4,0,2,39,1,12],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6":[4,0,2,39,1,16],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a":[4,0,2,39,1,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852":[4,0,2,39,1,17],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d":[4,0,2,39,1,8],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a":[4,0,2,39,1,11],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621":[4,0,2,39,1,14],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc":[4,0,2,39,1,9],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97":[4,0,2,39,1,15],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a":[4,0,2,39,1,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878":[4,0,2,39,1,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html":[4,0,2,39,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html":[4,0,2,39,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a4e67cb18f2fb96cc20407538639b577c":[4,0,2,39,3,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c":[4,0,2,39,3,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a99aeb89e3cf582eabcb1377927851307":[4,0,2,39,3,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438":[4,0,2,39,3,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html":[4,0,2,39,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd":[4,0,2,39,4,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a95d04a85fd6c6de0f0f46ab2f1bbf3c5":[4,0,2,39,4,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,39,4,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,39,4,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ac6c62e07618b3d0bb32cfcca328ddb20":[4,0,2,39,4,3],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html":[4,0,2,3,0,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html#a0093a2a440bd3662b0ec692db4b59748":[4,0,2,3,0,0,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html":[4,0,2,3,1,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#a9fb40a440a17abac7be77f58722276b8":[4,0,2,3,1,0,0],
-"symlink__handle_8hpp.html":[5,0,0,1,0,22],
-"symlink__handle_8hpp.html#a0fc31d7bab5faf3ee82e73854ff798b7":[5,0,0,1,0,22,8],
-"symlink__handle_8hpp.html#a5bdf9ca2127daf5defb1d845f21fa7b9":[5,0,0,1,0,22,7],
-"todo.html":[1],
-"trivial__vector_8hpp.html":[5,0,0,1,0,0,2],
-"trivial__vector_8hpp.html#a48db273f73f86955938b99faeef6e113":[5,0,0,1,0,0,2,9],
-"trivial__vector_8hpp.html#a4ba09ef10dc88c605edf40669322d8d4":[5,0,0,1,0,0,2,12],
-"trivial__vector_8hpp.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1":[5,0,0,1,0,0,2,11],
-"trivial__vector_8hpp.html#a7ef00d65394827ceb91597dda1f496f9":[5,0,0,1,0,0,2,5],
-"trivial__vector_8hpp.html#a993ddc5c77998a907582247107f6e6c5":[5,0,0,1,0,0,2,10],
-"trivial__vector_8hpp.html#ac18e1a34c78ea3e115ec42e822003459":[5,0,0,1,0,0,2,7],
-"trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4":[5,0,0,1,0,0,2,6],
-"trivial__vector_8hpp.html#ade5c4ba1da02f45e072be8f16e1fa46a":[5,0,0,1,0,0,2,8],
-"trivial__vector_8hpp.html#ade7571062c3e19cb6622bd2e411130ab":[5,0,0,1,0,0,2,13],
-"trivial__vector_8hpp.html#ae0973243c4b58d53d6f11ce5a2535a8c":[5,0,0,1,0,0,2,14],
-"utils_8hpp.html":[5,0,0,1,0,23],
-"utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb":[5,0,0,1,0,23,6],
-"utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba":[5,0,0,1,0,23,11],
-"utils_8hpp.html#a5499feaf6b774e774a26e7decd11e3fa":[5,0,0,1,0,23,15],
-"utils_8hpp.html#a67f8f31f6b93293a22a4b30d686eb3af":[5,0,0,1,0,23,17],
-"utils_8hpp.html#a6a29cf29a4b097411f6c1e5274bfb417":[5,0,0,1,0,23,14],
-"utils_8hpp.html#a6c41e314d4d4b8362b96a3b4c1c363f5":[5,0,0,1,0,23,12],
-"utils_8hpp.html#a7aae80908cc5521ef67234152c5c5044":[5,0,0,1,0,23,18],
-"utils_8hpp.html#a85afc40cff0ecfd3a13520ea7e5176a1":[5,0,0,1,0,23,4],
-"utils_8hpp.html#a90d8f94ddb6e026f931e86d0dc904778":[5,0,0,1,0,23,8],
-"utils_8hpp.html#abacefaf60ae391226c4775cf8a61276a":[5,0,0,1,0,23,7],
-"utils_8hpp.html#acf1b1646f257d85f7f2655df1042483f":[5,0,0,1,0,23,5],
-"utils_8hpp.html#ae1d9ee5d6d391f39f62dacbc8c957ae8":[5,0,0,1,0,23,9],
-"utils_8hpp.html#ae61e2de30b06776a1c24643a1d1dc64e":[5,0,0,1,0,23,13],
-"utils_8hpp.html#ae880ebd5681dcf6b700d67fb10b4547e":[5,0,0,1,0,23,10],
-"utils_8hpp.html#afa36e8bc2a1f004696c09d104e23d685":[5,0,0,1,0,23,16],
-"v2_80_2llfio_8hpp.html":[5,0,0,1,0,11],
-"v2_80_2llfio_8hpp.html#a090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,0,11,7],
-"v2_80_2llfio_8hpp.html#a18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,0,11,8],
-"v2_80_2llfio_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,0,11,3],
-"v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87":[5,0,0,1,0,11,1],
-"v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,0,11,2],
-"v2_80_2llfio_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,0,11,4],
-"v2_80_2llfio_8hpp.html#ab03294596f77a7717954929a887ca425":[5,0,0,1,0,11,6],
-"v2_80_2llfio_8hpp.html#acac3045524a50876c1bc6068bd6237f0":[5,0,0,1,0,11,5],
-"v2_80_2llfio_8hpp.html#ae0f8dc3a9d303f90044533d23f6417a8":[5,0,0,1,0,11,0],
-"version_8hpp.html":[5,0,0,1,2],
-"version_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,2,4],
-"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,1]
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#acaa7851337ee7c96e8e77e7eb8e539ee":[4,0,2,3,0,5],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ad5ddc986164ed591f699a0c82ed5731b":[4,0,2,3,0,4],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adc8a4e95efecbf9e176103d9cfa88a2a":[4,0,2,3,0,11],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adfb76278d1a55da5cb50e751a9ff32e6":[4,0,2,3,0,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ae57116bbdf184521e4307176b119ef0d":[4,0,2,3,0,14],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aecc7f10d71f5c3888ec859095f137423":[4,0,2,3,0,17],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html":[4,0,2,3,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a2bbf41f2f2520318fdaee21e8851cefc":[4,0,2,3,1,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a72bf15b1288d32ed332d3a44ddf287eb":[4,0,2,3,1,5],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a8275cd0213285ed2b1a7dc571c07adaf":[4,0,2,3,1,2],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a96b40be459cb832df002d8033d858a46":[4,0,2,3,1,4],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#aee4a3d1c9ea248acfa3b8b0935e55a6b":[4,0,2,3,1,3],
+"classllfio__v2__xxx_1_1write__receiver.html":[4,0,2,48],
+"classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b":[4,0,2,48,6],
+"classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f":[4,0,2,48,5],
+"classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183":[4,0,2,48,0],
+"classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8":[4,0,2,48,1],
+"classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8":[4,0,2,48,4],
+"classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b":[4,0,2,48,3],
+"classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c":[4,0,2,48,2],
+"clone_8hpp.html":[5,0,0,1,0,0,2],
+"clone_8hpp.html#a3c661d6cba0da25fe9e1211ede1fd004":[5,0,0,1,0,0,2,0],
+"combining_8hpp.html":[5,0,0,1,0,0,0,1],
+"combining_8hpp.html#a8b1d1e556711d50dacb5e279dc58407a":[5,0,0,1,0,0,0,1,1],
+"config_8hpp.html":[5,0,0,1,0,1],
+"config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4":[5,0,0,1,0,1,33],
+"config_8hpp.html#a138a48536b1700db01f10e8a371d0a4f":[5,0,0,1,0,1,31],
+"config_8hpp.html#a153d3be235debcda8578952291884b74":[5,0,0,1,0,1,19],
+"config_8hpp.html#a163aaaaa4d238aebd5fb9acec82006dd":[5,0,0,1,0,1,1],
+"config_8hpp.html#a1e5f2d817ba0955e319af287e5dd924b":[5,0,0,1,0,1,18],
+"config_8hpp.html#a23358ae319d76dd1149a26b04b17796a":[5,0,0,1,0,1,29],
+"config_8hpp.html#a4de8a527746757126bdb1635b9a2a892":[5,0,0,1,0,1,16],
+"config_8hpp.html#a637f94e641d4078df650dd4a94094d7b":[5,0,0,1,0,1,22],
+"config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a":[5,0,0,1,0,1,2],
+"config_8hpp.html#a77c52ccdc38be135a374dbb4a7d1d466":[5,0,0,1,0,1,32],
+"config_8hpp.html#a79085acc20a53afe38d31c1af948301d":[5,0,0,1,0,1,28],
+"config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d":[5,0,0,1,0,1,11],
+"config_8hpp.html#a7f5813f203de5eb26f6f359d5418848a":[5,0,0,1,0,1,4],
+"config_8hpp.html#aa96417d97962da23b27d237508a58646":[5,0,0,1,0,1,14],
+"config_8hpp.html#ac33daba12ec10f8abd83e9670183f130":[5,0,0,1,0,1,21],
+"config_8hpp.html#adb72eb2d002d482f9c9be5505a7ab2ae":[5,0,0,1,0,1,15],
+"config_8hpp.html#adfde9bd005e6ec6b3f42492b758a99d3":[5,0,0,1,0,1,5],
+"config_8hpp.html#ae0ffcd967fa2fb3f8acaf39cf7b75d8d":[5,0,0,1,0,1,17],
+"config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559":[5,0,0,1,0,1,3],
+"config_8hpp.html#af65fb3311b32b8757c3b7ebdd045afe9":[5,0,0,1,0,1,30],
+"config_8hpp.html#afdf0fdef0021246266b073c4caf8abea":[5,0,0,1,0,1,20],
+"contents_8hpp.html":[5,0,0,1,0,0,3],
+"contents_8hpp.html#afae251fc3bfb7280b47b6135e2f6c7e2":[5,0,0,1,0,0,3,3],
+"deadline_8h.html":[5,0,0,1,0,2],
+"deadline_8h.html#a8248d979e402cb0538f7f6f2840b55c1":[5,0,0,1,0,2,1],
+"deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00":[5,0,0,1,0,2,3],
+"deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0":[5,0,0,1,0,2,2],
+"deadline_8h.html#aa829fa57d8fc5156dd4358b670cd7c56":[5,0,0,1,0,2,6],
+"deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba":[5,0,0,1,0,2,5],
+"deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4":[5,0,0,1,0,2,4],
+"dir_1bdb7a6f6f947180459b1da442728237.html":[5,0,0,1,0,0,0],
+"dir_2e3f7bf739bad988e6850471c071ba11.html":[5,0,0,1,0,0],
+"dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html":[5,0,0,1],
+"dir_c1befcc047da237f65397416de160f2e.html":[5,0,0,0],
+"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
+"dir_e5b117e9e5b89263e91174673bb00c84.html":[5,0,0,1,0,0,1],
+"dir_ff8d8ad368a820031e12dd9b12d79036.html":[5,0,0,1,0],
+"directory__handle_8hpp.html":[5,0,0,1,0,3],
+"directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724":[5,0,0,1,0,3,7],
+"directory__handle_8hpp.html#a2fd0d67b7d28699d16f6a3666a62a5bf":[5,0,0,1,0,3,8],
+"directory__handle_8hpp.html#a3d112d170c1d485e1120de06eef02375":[5,0,0,1,0,3,5],
+"directory__handle_8hpp.html#aba506997f2999cabbe0a7bd2a1d3b6e0":[5,0,0,1,0,3,10],
+"directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61":[5,0,0,1,0,3,9],
+"directory__handle_8hpp.html#ae5dd820167e77b7caf7ec921f0c6e8c9":[5,0,0,1,0,3,6],
+"fast__random__file__handle_8hpp.html":[5,0,0,1,0,4],
+"file__handle_8hpp.html":[5,0,0,1,0,5],
+"file__handle_8hpp.html#a16ee1bea5a5791ecde266420e00fba81":[5,0,0,1,0,5,10],
+"file__handle_8hpp.html#a1759f4cee184d433f4446a39ff8bfa02":[5,0,0,1,0,5,5],
+"file__handle_8hpp.html#a2542466a055a0c024dee2704e9e32519":[5,0,0,1,0,5,7],
+"file__handle_8hpp.html#a5d9582bf6887848cd9fc363a282a1c21":[5,0,0,1,0,5,11],
+"file__handle_8hpp.html#a70d9ef3b988a880d171015b754bb7b27":[5,0,0,1,0,5,8],
+"file__handle_8hpp.html#ac8d9dc908fe39f9c896e99f6b7a39d81":[5,0,0,1,0,5,9],
+"file__handle_8hpp.html#ad0fb15649a46da0d75b5797bfda8dc2e":[5,0,0,1,0,5,12],
+"file__handle_8hpp.html#ad4f1cfcc3469ace25264a09770b0cdef":[5,0,0,1,0,5,3],
+"file__handle_8hpp.html#af31a062639499a79ef5cc8aed16ba65d":[5,0,0,1,0,5,4],
+"file__handle_8hpp.html#af678f58d20e1f0962ff0744150342683":[5,0,0,1,0,5,6],
+"files.html":[5,0],
+"fs__handle_8hpp.html":[5,0,0,1,0,6],
+"fs__handle_8hpp.html#a1f5764bb77ec58ac60c6b92958a16043":[5,0,0,1,0,6,2],
+"fs__handle_8hpp.html#a3c20b46beeb225aa63ade3dc42e73362":[5,0,0,1,0,6,5],
+"fs__handle_8hpp.html#a60fa5c64c83ce05c8287c5379d082e49":[5,0,0,1,0,6,3],
+"fs__handle_8hpp.html#ab561e45415bf19b8cc6064b6b313d94d":[5,0,0,1,0,6,4],
+"fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89a":[5,0,0,1,0,6,1],
+"fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae":[5,0,0,1,0,6,1,2],
+"fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec":[5,0,0,1,0,6,1,0],
+"fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7":[5,0,0,1,0,6,1,1],
+"fs__handle_8hpp.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0":[5,0,0,1,0,6,1,3],
+"functions.html":[4,3,0],
+"functions.html":[4,3,0,0],
+"functions_a.html":[4,3,0,1],
+"functions_b.html":[4,3,0,2],
+"functions_c.html":[4,3,0,3],
+"functions_d.html":[4,3,0,4],
+"functions_e.html":[4,3,0,5],
+"functions_enum.html":[4,3,4],
+"functions_eval.html":[4,3,5],
+"functions_f.html":[4,3,0,6],
+"functions_func.html":[4,3,1],
+"functions_func.html":[4,3,1,0],
+"functions_func_a.html":[4,3,1,1],
+"functions_func_b.html":[4,3,1,2],
+"functions_func_c.html":[4,3,1,3],
+"functions_func_d.html":[4,3,1,4],
+"functions_func_e.html":[4,3,1,5],
+"functions_func_f.html":[4,3,1,6],
+"functions_func_g.html":[4,3,1,7],
+"functions_func_h.html":[4,3,1,8],
+"functions_func_i.html":[4,3,1,9],
+"functions_func_k.html":[4,3,1,10],
+"functions_func_l.html":[4,3,1,11],
+"functions_func_m.html":[4,3,1,12],
+"functions_func_n.html":[4,3,1,13],
+"functions_func_o.html":[4,3,1,14],
+"functions_func_p.html":[4,3,1,15],
+"functions_func_q.html":[4,3,1,16],
+"functions_func_r.html":[4,3,1,17],
+"functions_func_s.html":[4,3,1,18],
+"functions_func_t.html":[4,3,1,19],
+"functions_func_u.html":[4,3,1,20],
+"functions_func_v.html":[4,3,1,21],
+"functions_func_w.html":[4,3,1,22],
+"functions_func_z.html":[4,3,1,23],
+"functions_func_~.html":[4,3,1,24],
+"functions_g.html":[4,3,0,7],
+"functions_h.html":[4,3,0,8],
+"functions_i.html":[4,3,0,9],
+"functions_k.html":[4,3,0,10],
+"functions_l.html":[4,3,0,11],
+"functions_m.html":[4,3,0,12],
+"functions_n.html":[4,3,0,13],
+"functions_o.html":[4,3,0,14],
+"functions_p.html":[4,3,0,15],
+"functions_q.html":[4,3,0,16],
+"functions_r.html":[4,3,0,17],
+"functions_rela.html":[4,3,6],
+"functions_s.html":[4,3,0,18],
+"functions_t.html":[4,3,0,19],
+"functions_type.html":[4,3,3],
+"functions_u.html":[4,3,0,20],
+"functions_v.html":[4,3,0,21],
+"functions_vars.html":[4,3,2],
+"functions_w.html":[4,3,0,22],
+"functions_x.html":[4,3,0,23],
+"functions_z.html":[4,3,0,24],
+"functions_~.html":[4,3,0,25],
+"globals.html":[5,1,0],
+"globals_defs.html":[5,1,1],
+"group__config.html":[2,0],
+"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[2,0,20],
+"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,2,8],
+"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[2,0,21],
+"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,2,9],
+"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[2,0,4],
+"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[5,0,0,0,0,11],
+"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[5,0,0,1,0,1,13],
+"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[2,0,11],
+"group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3":[2,0,0],
+"group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3":[5,0,0,0,0,7],
+"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[5,0,0,1,0,1,9],
+"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[2,0,8],
+"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[2,0,6],
+"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[5,0,0,1,0,1,7],
+"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[2,0,5],
+"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[5,0,0,1,0,1,6],
+"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[5,0,0,0,0,10],
+"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[2,0,3],
+"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[5,0,0,1,0,1,10],
+"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[2,0,9],
+"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[2,0,16],
+"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[5,0,0,1,0,1,26],
+"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[5,0,0,0,0,9],
+"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[2,0,2],
+"group__config.html#ga8a15603141e848a1816c1758b9436287":[5,0,0,0,0,8],
+"group__config.html#ga8a15603141e848a1816c1758b9436287":[2,0,1],
+"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[5,0,0,1,2,3],
+"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[2,0,12],
+"group__config.html#gab03294596f77a7717954929a887ca425":[2,0,19],
+"group__config.html#gab03294596f77a7717954929a887ca425":[5,0,0,1,2,7],
+"group__config.html#gab2f82803f0ce479a2993d3b7696db8d3":[2,0,17],
+"group__config.html#gab2f82803f0ce479a2993d3b7696db8d3":[5,0,0,1,0,1,27],
+"group__config.html#gabb964a24682a722a7eaad891ee497a61":[5,0,0,1,0,1,23],
+"group__config.html#gabb964a24682a722a7eaad891ee497a61":[2,0,13],
+"group__config.html#gac9f7f0153adb9034d26c4554728f817a":[5,0,0,1,0,1,24],
+"group__config.html#gac9f7f0153adb9034d26c4554728f817a":[2,0,14],
+"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[2,0,18],
+"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[5,0,0,1,2,6],
+"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[2,0,7],
+"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[5,0,0,1,0,1,8],
+"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[5,0,0,1,0,1,25],
+"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[2,0,15],
+"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[5,0,0,1,0,1,12],
+"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[2,0,10],
+"handle_8hpp.html":[5,0,0,1,0,7],
+"handle_8hpp.html#a286da8606a5eb74cf26dcc9838c49ae8":[5,0,0,1,0,7,3],
+"handle_8hpp.html#a4888fb3be6e332367f3ee046f869a8f8":[5,0,0,1,0,7,6],
+"handle_8hpp.html#a56405b7c7f5ca46e6564ce295a87fc87":[5,0,0,1,0,7,8],
+"handle_8hpp.html#a72a6e1add1783bc959c4954ac92300f8":[5,0,0,1,0,7,4],
+"handle_8hpp.html#a869dd7b04685be755d854dea281f84c6":[5,0,0,1,0,7,9],
+"handle_8hpp.html#aa2eeaa1b9280d05b18b7e6d505c289fb":[5,0,0,1,0,7,10],
+"handle_8hpp.html#ac28600985804a8c72434b65533c1b84d":[5,0,0,1,0,7,7],
+"handle_8hpp.html#ae33af5701ff0ec4573bd72c7e71a04cf":[5,0,0,1,0,7,5],
+"handle_8hpp.html#af6109ac3bc59d2b15edcded08060d1b0":[5,0,0,1,0,7,2],
+"hierarchy.html":[4,2],
+"index.html":[],
+"index.html#autotoc_md18":[0],
+"index.html#autotoc_md19":[1],
+"io__handle_8hpp.html":[5,0,0,1,0,8],
+"io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672":[5,0,0,1,0,8,1],
+"io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a":[5,0,0,1,0,8,3],
+"io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312":[5,0,0,1,0,8,2],
+"kvstore_8hpp.html":[5,0,0,0,0],
+"kvstore_8hpp.html#a09144ea19f3c63cd0dab9177ae073447":[5,0,0,0,0,23],
+"kvstore_8hpp.html#a466cf9673cdcc87c5f0d24f36f433924":[5,0,0,0,0,20],
+"kvstore_8hpp.html#a6e486d7b17da9677f0218b106b1f3817":[5,0,0,0,0,22],
+"kvstore_8hpp.html#a793e650666d8d8f95be813271ceaf8a6":[5,0,0,0,0,21],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5f":[5,0,0,0,0,19],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8":[5,0,0,0,0,19,4],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa260ca9dd8a4577fc00b7bd5810298076":[5,0,0,0,0,19,0],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab":[5,0,0,0,0,19,1],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07":[5,0,0,0,0,19,2],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70":[5,0,0,0,0,19,3],
+"kvstore_8hpp.html#ab1cb4cfee6dbf78f171a131a0019a477":[5,0,0,0,0,13],
+"kvstore_8hpp.html#ab44821c2769b974fa40319f77b913f9d":[5,0,0,0,0,18],
+"kvstore_8hpp.html#ab623a6b882a8f334d0ac43dfbfb72408":[5,0,0,0,0,24],
+"kvstore_8hpp.html#ab6addfdbe96f246408c6dec238bb4ee9":[5,0,0,0,0,15],
+"kvstore_8hpp.html#abfefe66b118efa5984bfeea73333006b":[5,0,0,0,0,16],
+"kvstore_8hpp.html#ad464f951f0250c13c513f131f4571f2e":[5,0,0,0,0,17],
+"kvstore_8hpp.html#adb5cffe293f00d60233dfe7b3467b5e9":[5,0,0,0,0,14],
+"kvstore_8hpp.html#ae62caff72991c75f69dee4aab63ea0ff":[5,0,0,0,0,12],
+"llfio_8hpp.html":[5,0,0,1,1],
+"llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65":[5,0,0,1,1,0],
+"llfio_8hpp.html#ad2355e889e3d2e599f26847898c3981b":[5,0,0,1,1,2],
+"llfio_8hpp.html#add07585a12827be7f924cf06982091b6":[5,0,0,1,1,1],
+"llfio_8hpp.html#af8824fe4ddf44b85f7c0609a3535c9d3":[5,0,0,1,1,3],
+"lock__files_8hpp.html":[5,0,0,1,0,0,1,3],
+"lockable__io__handle_8hpp.html":[5,0,0,1,0,10],
+"lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33":[5,0,0,1,0,10,3],
+"lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e":[5,0,0,1,0,10,3,1],
+"lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7":[5,0,0,1,0,10,3,2],
+"lockable__io__handle_8hpp.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f":[5,0,0,1,0,10,3,0],
+"map__handle_8hpp.html":[5,0,0,1,0,11],
+"map__handle_8hpp.html#a28060698d23344a5ece73336a9cf49c2":[5,0,0,1,0,11,19],
+"map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110":[5,0,0,1,0,11,5],
+"map__handle_8hpp.html#a3d55c0a3b567c7ed05053a94750bb133":[5,0,0,1,0,11,16],
+"map__handle_8hpp.html#a5323ac4d73623d99f92109a5c184e5dd":[5,0,0,1,0,11,18]
};
diff --git a/pages.html b/pages.html
index 5c1edf94..9d7515fd 100644
--- a/pages.html
+++ b/pages.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Related Pages</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('pages.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('pages.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,7 +99,7 @@ $(document).ready(function(){initNavTree('pages.html','');});
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/path__discovery_8hpp.html b/path__discovery_8hpp.html
index f50b7c84..10a3ace3 100644
--- a/path__discovery_8hpp.html
+++ b/path__discovery_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/path_discovery.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('path__discovery_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('path__discovery_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('path__discovery_8hpp.html','');});
<div class="title">path_discovery.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides <code>path_discovery</code>
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="fs__handle_8hpp.html">fs_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stat_8hpp.html">stat.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
@@ -126,6 +125,9 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v
<tr class="memitem:ade18f14d3ef37488e8967c87faa04d29"><td class="memItemLeft" align="right" valign="top">const path_handle &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">llfio_v2_xxx::path_discovery::memory_backed_temporary_files_directory</a> () noexcept</td></tr>
<tr class="memdesc:ade18f14d3ef37488e8967c87faa04d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where files created are stored in memory/paging file, and thus access may be a lot quicker, but stronger limits on capacity may apply. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">More...</a><br /></td></tr>
<tr class="separator:ade18f14d3ef37488e8967c87faa04d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d3e2ea602c3195433c7898c41744188"><td class="memItemLeft" align="right" valign="top">const path_handle &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">llfio_v2_xxx::path_discovery::temporary_named_pipes_directory</a> () noexcept</td></tr>
+<tr class="memdesc:a2d3e2ea602c3195433c7898c41744188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to an open handle to a verified temporary directory where named pipes may be created and found. <a href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">More...</a><br /></td></tr>
+<tr class="separator:a2d3e2ea602c3195433c7898c41744188"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Provides <code>path_discovery</code> </p>
@@ -137,7 +139,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="path__discovery_8hpp.html">path_discovery.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/path__discovery_8hpp.js b/path__discovery_8hpp.js
index 4884b0a8..dfe9e32f 100644
--- a/path__discovery_8hpp.js
+++ b/path__discovery_8hpp.js
@@ -5,5 +5,6 @@ var path__discovery_8hpp =
[ "memory_backed_temporary_files_directory", "path__discovery_8hpp.html#ade18f14d3ef37488e8967c87faa04d29", null ],
[ "operator<<", "path__discovery_8hpp.html#a876db6e58143e730afd0706226f39d6c", null ],
[ "storage_backed_temporary_files_directory", "path__discovery_8hpp.html#a2dd74ea752f3f511d58ccccdcac7f4fd", null ],
+ [ "temporary_named_pipes_directory", "path__discovery_8hpp.html#a2d3e2ea602c3195433c7898c41744188", null ],
[ "verified_temporary_directories", "path__discovery_8hpp.html#ab3c4aaa0c413e4989461ab6551058583", null ]
]; \ No newline at end of file
diff --git a/path__handle_8hpp.html b/path__handle_8hpp.html
index 8d2563fd..b0856b1b 100644
--- a/path__handle_8hpp.html
+++ b/path__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/path_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('path__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('path__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('path__handle_8hpp.html','');});
<div class="title">path_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides a handle to a filesystem location.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="path__view_8hpp.html">path_view.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
@@ -113,7 +112,9 @@ Namespaces</h2></td></tr>
Functions</h2></td></tr>
<tr class="memitem:a49f7bb77eb38fbe1280019225b66b78b"><td class="memItemLeft" align="right" valign="top">result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a> (const path_handle &amp;base, path_handle::path_view_type path) noexcept</td></tr>
<tr class="separator:a49f7bb77eb38fbe1280019225b66b78b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memItemLeft" align="right" valign="top">result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx::path</a> (path_handle::path_view_type _path) noexcept</td></tr>
+<tr class="memitem:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memItemLeft" align="right" valign="top"><a id="ad8b12afdd4c80d69d2530bd40f92427c"></a>
+result&lt; path_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx::path</a> (path_handle::path_view_type _path) noexcept</td></tr>
+<tr class="memdesc:ad8b12afdd4c80d69d2530bd40f92427c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <br /></td></tr>
<tr class="separator:ad8b12afdd4c80d69d2530bd40f92427c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -126,7 +127,7 @@ Functions</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="path__handle_8hpp.html">path_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/path__view_8hpp.html b/path__view_8hpp.html
index b7e121fd..d79a5fec 100644
--- a/path__view_8hpp.html
+++ b/path__view_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/path_view.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('path__view_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('path__view_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,9 +92,6 @@ $(document).ready(function(){initNavTree('path__view_8hpp.html','');});
<div class="title">path_view.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides view of a path.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
<code>#include &lt;iterator&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
@@ -132,60 +131,98 @@ Functions</h2></td></tr>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a24c9ba461630fe02b8c818df8b4f0402"><td class="memTemplItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::constexpr_strlen</b> (const T *s) noexcept</td></tr>
<tr class="separator:a24c9ba461630fe02b8c818df8b4f0402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13faa6de476f799028a4bf143facd46c"><td class="memItemLeft" align="right" valign="top"><a id="a13faa6de476f799028a4bf143facd46c"></a>
-char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const llfio_v2_xxx::byte *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a13faa6de476f799028a4bf143facd46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d7aae6e2796892ed4c0b7ad2d8e9b60"><td class="memItemLeft" align="right" valign="top"><a id="a1d7aae6e2796892ed4c0b7ad2d8e9b60"></a>
-char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a1d7aae6e2796892ed4c0b7ad2d8e9b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac6fb2a3bda730de08b96fc69703f6da"><td class="memItemLeft" align="right" valign="top"><a id="aac6fb2a3bda730de08b96fc69703f6da"></a>
-char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const wchar_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:aac6fb2a3bda730de08b96fc69703f6da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a860f04aa3b25b25cc205defe3a694448"><td class="memItemLeft" align="right" valign="top"><a id="a860f04aa3b25b25cc205defe3a694448"></a>
-char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char8_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a860f04aa3b25b25cc205defe3a694448"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1aeb7ad61b168bafdb02f82aa9ccf1b4"><td class="memItemLeft" align="right" valign="top"><a id="a1aeb7ad61b168bafdb02f82aa9ccf1b4"></a>
-char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char16_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a1aeb7ad61b168bafdb02f82aa9ccf1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcf1b69c1cccc63221adeb876b632127"><td class="memItemLeft" align="right" valign="top"><a id="afcf1b69c1cccc63221adeb876b632127"></a>
-wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const llfio_v2_xxx::byte *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:afcf1b69c1cccc63221adeb876b632127"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5a486f4772daf5d5586d27591fc8f9b"><td class="memItemLeft" align="right" valign="top"><a id="ad5a486f4772daf5d5586d27591fc8f9b"></a>
-wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:ad5a486f4772daf5d5586d27591fc8f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46e59fbd0b20657311cfa8015f9525a7"><td class="memItemLeft" align="right" valign="top"><a id="a46e59fbd0b20657311cfa8015f9525a7"></a>
-wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const wchar_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a46e59fbd0b20657311cfa8015f9525a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab87d8f741a60f9b2c2646efd9d00d8df"><td class="memItemLeft" align="right" valign="top"><a id="ab87d8f741a60f9b2c2646efd9d00d8df"></a>
-wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char8_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:ab87d8f741a60f9b2c2646efd9d00d8df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a242ba0cf05b33c8dabf070791e92c50e"><td class="memItemLeft" align="right" valign="top"><a id="a242ba0cf05b33c8dabf070791e92c50e"></a>
-wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char16_t *src_buffer, size_t src_buffer_length)</td></tr>
-<tr class="separator:a242ba0cf05b33c8dabf070791e92c50e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5a020ef47a862a0d6ee2a8cb5b83000"><td class="memItemLeft" align="right" valign="top"><a id="af5a020ef47a862a0d6ee2a8cb5b83000"></a>
+constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::constexpr_strlen</b> (const byte *s) noexcept</td></tr>
+<tr class="separator:af5a020ef47a862a0d6ee2a8cb5b83000"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeca839dcad90518be469393ff94a298c"><td class="memItemLeft" align="right" valign="top"><a id="aeca839dcad90518be469393ff94a298c"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const llfio_v2_xxx::byte *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:aeca839dcad90518be469393ff94a298c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7cb1db78991ce362d7262bcf0e26921"><td class="memItemLeft" align="right" valign="top"><a id="ae7cb1db78991ce362d7262bcf0e26921"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:ae7cb1db78991ce362d7262bcf0e26921"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa588880bc76221e6ec9715b70013105"><td class="memItemLeft" align="right" valign="top"><a id="afa588880bc76221e6ec9715b70013105"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const wchar_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:afa588880bc76221e6ec9715b70013105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7f0c5568c83abca21bee9cd838f9542"><td class="memItemLeft" align="right" valign="top"><a id="ae7f0c5568c83abca21bee9cd838f9542"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char8_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:ae7f0c5568c83abca21bee9cd838f9542"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa126c294bd24c6170729c81a2d746cf7"><td class="memItemLeft" align="right" valign="top"><a id="aa126c294bd24c6170729c81a2d746cf7"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, char *dest_buffer, size_t dest_buffer_length, const char16_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:aa126c294bd24c6170729c81a2d746cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa08446a93ea987bfbb45fd45f5fcd612"><td class="memItemLeft" align="right" valign="top"><a id="aa08446a93ea987bfbb45fd45f5fcd612"></a>
+wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const llfio_v2_xxx::byte *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:aa08446a93ea987bfbb45fd45f5fcd612"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78e8ca5dbdce64395344f278844f1f7c"><td class="memItemLeft" align="right" valign="top"><a id="a78e8ca5dbdce64395344f278844f1f7c"></a>
+wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:a78e8ca5dbdce64395344f278844f1f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76bb62584e742b0b8397a63c333f7d59"><td class="memItemLeft" align="right" valign="top"><a id="a76bb62584e742b0b8397a63c333f7d59"></a>
+wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const wchar_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:a76bb62584e742b0b8397a63c333f7d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa43d4352669c668ec5882e7d953b3ea6"><td class="memItemLeft" align="right" valign="top"><a id="aa43d4352669c668ec5882e7d953b3ea6"></a>
+wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char8_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:aa43d4352669c668ec5882e7d953b3ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf8e44c460932265c6c97b949eeaac92"><td class="memItemLeft" align="right" valign="top"><a id="aaf8e44c460932265c6c97b949eeaac92"></a>
+wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::reencode_path_to</b> (size_t &amp;toallocate, wchar_t *dest_buffer, size_t dest_buffer_length, const char16_t *src_buffer, size_t src_buffer_length, const std::locale *loc)</td></tr>
+<tr class="separator:aaf8e44c460932265c6c97b949eeaac92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02c02d05e24d34c25324c192df11c0b4"><td class="memItemLeft" align="right" valign="top"><a id="a02c02d05e24d34c25324c192df11c0b4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::LLFIO_TEMPLATE</b> (class T, class U) LLFIO_TREQUIRES(LLFIO_TPRED(std</td></tr>
+<tr class="separator:a02c02d05e24d34c25324c192df11c0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7461933c74794f79178f952c42083ed"><td class="memTemplParams" colspan="2"><a id="aa7461933c74794f79178f952c42083ed"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:aa7461933c74794f79178f952c42083ed"><td class="memTemplItemLeft" align="right" valign="top">constexpr void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::detail::is_deleter</b> (...)</td></tr>
+<tr class="separator:aa7461933c74794f79178f952c42083ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a253dd24caea0c8a34a5260f3acf0b8ca"><td class="memItemLeft" align="right" valign="top"><a id="a253dd24caea0c8a34a5260f3acf0b8ca"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::LLFIO_TEMPLATE</b> (class U) LLFIO_TREQUIRES(LLFIO_TEXPR(std</td></tr>
+<tr class="separator:a253dd24caea0c8a34a5260f3acf0b8ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1081a69ba488868ed42e8c7ce5bb1e17"><td class="memItemLeft" align="right" valign="top"><a id="a1081a69ba488868ed42e8c7ce5bb1e17"></a>
+constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::is_allocator</b> (...)</td></tr>
+<tr class="separator:a1081a69ba488868ed42e8c7ce5bb1e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6024cdc07fef0c772c14ec1f91defa75"><td class="memItemLeft" align="right" valign="top"><a id="a6024cdc07fef0c772c14ec1f91defa75"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator==</b> (path_view_component x, path_view_component y) noexcept</td></tr>
<tr class="separator:a6024cdc07fef0c772c14ec1f91defa75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0846b040cbf733b34787c76a39e35b85"><td class="memItemLeft" align="right" valign="top"><a id="a0846b040cbf733b34787c76a39e35b85"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator!=</b> (path_view_component x, path_view_component y) noexcept</td></tr>
<tr class="separator:a0846b040cbf733b34787c76a39e35b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20dbb9e8deed80ea3d0b65d52fd34771"><td class="memItemLeft" align="right" valign="top"><a id="a20dbb9e8deed80ea3d0b65d52fd34771"></a>
+<tr class="memitem:a1374384491dae4c33de1ddd218336f98"><td class="memTemplParams" colspan="2"><a id="a1374384491dae4c33de1ddd218336f98"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:a1374384491dae4c33de1ddd218336f98"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::visit</b> (path_view_component view, F &amp;&amp;f)</td></tr>
+<tr class="separator:a1374384491dae4c33de1ddd218336f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d381d16b152632f617c82182fcf22a1"><td class="memTemplParams" colspan="2"><a id="a1d381d16b152632f617c82182fcf22a1"></a>
+template&lt;class F &gt; </td></tr>
+<tr class="memitem:a1d381d16b152632f617c82182fcf22a1"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_PATH_VIEW_CONSTEXPR auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1">llfio_v2_xxx::visit</a> (F &amp;&amp;f, path_view_component view)</td></tr>
+<tr class="memdesc:a1d381d16b152632f617c82182fcf22a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit the underlying source for a <code>path_view_component</code> (std compatible overload) <br /></td></tr>
+<tr class="separator:a1d381d16b152632f617c82182fcf22a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada4abf0a0e41c43e53dad057607cebbc"><td class="memItemLeft" align="right" valign="top"><a id="ada4abf0a0e41c43e53dad057607cebbc"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator&lt;&lt;</b> (std::ostream &amp;s, const path_view_component &amp;v)</td></tr>
-<tr class="separator:a20dbb9e8deed80ea3d0b65d52fd34771"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:ada4abf0a0e41c43e53dad057607cebbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa93a5ee3bddc44cc342826ff9892a170"><td class="memItemLeft" align="right" valign="top"><a id="aa93a5ee3bddc44cc342826ff9892a170"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator==</b> (path_view x, path_view y) noexcept</td></tr>
<tr class="separator:aa93a5ee3bddc44cc342826ff9892a170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34f076b77f1de6ae1660108254f2183"><td class="memItemLeft" align="right" valign="top"><a id="ad34f076b77f1de6ae1660108254f2183"></a>
LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator!=</b> (path_view x, path_view y) noexcept</td></tr>
<tr class="separator:ad34f076b77f1de6ae1660108254f2183"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0247c61a58f54b12119505f6b12aef2b"><td class="memItemLeft" align="right" valign="top"><a id="a0247c61a58f54b12119505f6b12aef2b"></a>
-std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator&lt;&lt;</b> (std::ostream &amp;s, const path_view &amp;v)</td></tr>
-<tr class="separator:a0247c61a58f54b12119505f6b12aef2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e68b8ef674b43bc67a04576a5d9a99e"><td class="memItemLeft" align="right" valign="top"><a id="a3e68b8ef674b43bc67a04576a5d9a99e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::LLFIO_TEMPLATE</b> (class CharT) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component</td></tr>
<tr class="separator:a3e68b8ef674b43bc67a04576a5d9a99e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa689b48f1fe2893f13e689a346a5dd5c"><td class="memItemLeft" align="right" valign="top"><a id="aa689b48f1fe2893f13e689a346a5dd5c"></a>
+filesystem::path &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c">llfio_v2_xxx::operator/=</a> (filesystem::path &amp;a, path_view_component b)</td></tr>
+<tr class="memdesc:aa689b48f1fe2893f13e689a346a5dd5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:aa689b48f1fe2893f13e689a346a5dd5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a177b07f74b322e7843ec46f13ffcf032"><td class="memItemLeft" align="right" valign="top"><a id="a177b07f74b322e7843ec46f13ffcf032"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032">llfio_v2_xxx::operator/</a> (const filesystem::path &amp;a, path_view_component b)</td></tr>
+<tr class="memdesc:a177b07f74b322e7843ec46f13ffcf032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:a177b07f74b322e7843ec46f13ffcf032"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="memItemLeft" align="right" valign="top"><a id="a56f82dddf1ccbd54e467ef1e35adcb54"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a56f82dddf1ccbd54e467ef1e35adcb54">llfio_v2_xxx::operator/</a> (filesystem::path &amp;&amp;a, path_view_component b)</td></tr>
+<tr class="memdesc:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path. <br /></td></tr>
+<tr class="separator:a56f82dddf1ccbd54e467ef1e35adcb54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb4db47e035ae1ee5043008492e8986b"><td class="memItemLeft" align="right" valign="top"><a id="adb4db47e035ae1ee5043008492e8986b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b">llfio_v2_xxx::LLFIO_TEMPLATE</a> (class T) LLFIO_TREQUIRES(LLFIO_TPRED(std</td></tr>
+<tr class="memdesc:adb4db47e035ae1ee5043008492e8986b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a path view component to a path view component. <br /></td></tr>
+<tr class="separator:adb4db47e035ae1ee5043008492e8986b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides view of a path. </p>
+<div class="textblock"><p>Provides view of a path </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -194,7 +231,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="path__view_8hpp.html">path_view.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/path__view_8hpp.js b/path__view_8hpp.js
index 935fba57..c9095e8e 100644
--- a/path__view_8hpp.js
+++ b/path__view_8hpp.js
@@ -5,22 +5,32 @@ var path__view_8hpp =
[ "LLFIO_PATH_VIEW_CHAR8_TYPE_EMULATED", "path__view_8hpp.html#ae52923980b09f106b87cde636b286c61", null ],
[ "LLFIO_PATH_VIEW_CONSTEXPR", "path__view_8hpp.html#ad116a2c98d1b1326ca6bb64d3868dbbd", null ],
[ "char16_t", "path__view_8hpp.html#ae8e18c4998e0aa92b606b3b88eec04a5", null ],
+ [ "constexpr_strlen", "path__view_8hpp.html#af5a020ef47a862a0d6ee2a8cb5b83000", null ],
[ "constexpr_strlen", "path__view_8hpp.html#a24c9ba461630fe02b8c818df8b4f0402", null ],
+ [ "is_allocator", "path__view_8hpp.html#a1081a69ba488868ed42e8c7ce5bb1e17", null ],
+ [ "is_deleter", "path__view_8hpp.html#aa7461933c74794f79178f952c42083ed", null ],
[ "LLFIO_TEMPLATE", "path__view_8hpp.html#a3e68b8ef674b43bc67a04576a5d9a99e", null ],
- [ "operator!=", "path__view_8hpp.html#a0846b040cbf733b34787c76a39e35b85", null ],
+ [ "LLFIO_TEMPLATE", "path__view_8hpp.html#adb4db47e035ae1ee5043008492e8986b", null ],
+ [ "LLFIO_TEMPLATE", "path__view_8hpp.html#a02c02d05e24d34c25324c192df11c0b4", null ],
+ [ "LLFIO_TEMPLATE", "path__view_8hpp.html#a253dd24caea0c8a34a5260f3acf0b8ca", null ],
[ "operator!=", "path__view_8hpp.html#ad34f076b77f1de6ae1660108254f2183", null ],
- [ "operator<<", "path__view_8hpp.html#a20dbb9e8deed80ea3d0b65d52fd34771", null ],
- [ "operator<<", "path__view_8hpp.html#a0247c61a58f54b12119505f6b12aef2b", null ],
- [ "operator==", "path__view_8hpp.html#a6024cdc07fef0c772c14ec1f91defa75", null ],
+ [ "operator!=", "path__view_8hpp.html#a0846b040cbf733b34787c76a39e35b85", null ],
+ [ "operator/", "path__view_8hpp.html#a177b07f74b322e7843ec46f13ffcf032", null ],
+ [ "operator/", "path__view_8hpp.html#a56f82dddf1ccbd54e467ef1e35adcb54", null ],
+ [ "operator/=", "path__view_8hpp.html#aa689b48f1fe2893f13e689a346a5dd5c", null ],
+ [ "operator<<", "path__view_8hpp.html#ada4abf0a0e41c43e53dad057607cebbc", null ],
[ "operator==", "path__view_8hpp.html#aa93a5ee3bddc44cc342826ff9892a170", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a13faa6de476f799028a4bf143facd46c", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a1d7aae6e2796892ed4c0b7ad2d8e9b60", null ],
- [ "reencode_path_to", "path__view_8hpp.html#aac6fb2a3bda730de08b96fc69703f6da", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a860f04aa3b25b25cc205defe3a694448", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a1aeb7ad61b168bafdb02f82aa9ccf1b4", null ],
- [ "reencode_path_to", "path__view_8hpp.html#afcf1b69c1cccc63221adeb876b632127", null ],
- [ "reencode_path_to", "path__view_8hpp.html#ad5a486f4772daf5d5586d27591fc8f9b", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a46e59fbd0b20657311cfa8015f9525a7", null ],
- [ "reencode_path_to", "path__view_8hpp.html#ab87d8f741a60f9b2c2646efd9d00d8df", null ],
- [ "reencode_path_to", "path__view_8hpp.html#a242ba0cf05b33c8dabf070791e92c50e", null ]
+ [ "operator==", "path__view_8hpp.html#a6024cdc07fef0c772c14ec1f91defa75", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#ae7cb1db78991ce362d7262bcf0e26921", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#aa126c294bd24c6170729c81a2d746cf7", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#ae7f0c5568c83abca21bee9cd838f9542", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#aeca839dcad90518be469393ff94a298c", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#afa588880bc76221e6ec9715b70013105", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#a78e8ca5dbdce64395344f278844f1f7c", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#aaf8e44c460932265c6c97b949eeaac92", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#aa43d4352669c668ec5882e7d953b3ea6", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#aa08446a93ea987bfbb45fd45f5fcd612", null ],
+ [ "reencode_path_to", "path__view_8hpp.html#a76bb62584e742b0b8397a63c333f7d59", null ],
+ [ "visit", "path__view_8hpp.html#a1d381d16b152632f617c82182fcf22a1", null ],
+ [ "visit", "path__view_8hpp.html#a1374384491dae4c33de1ddd218336f98", null ]
]; \ No newline at end of file
diff --git a/pipe__handle_8hpp.html b/pipe__handle_8hpp.html
new file mode 100644
index 00000000..9a2063e8
--- /dev/null
+++ b/pipe__handle_8hpp.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/pipe_handle.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('pipe__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle">
+<div class="title">pipe_handle.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">llfio_v2_xxx::pipe_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a named or anonymous pipe. <a href="classllfio__v2__xxx_1_1pipe__handle.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>pipe_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides <code>pipe_handle</code> </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="pipe__handle_8hpp.html">pipe_handle.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/io__service_8hpp.html b/process__handle_8hpp.html
index 5b9fc8d0..73d0f391 100644
--- a/io__service_8hpp.html
+++ b/process__handle_8hpp.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: include/llfio/v2.0/io_service.hpp File Reference</title>
+<title>LLFIO: include/llfio/v2.0/process_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('io__service_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('process__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,26 +85,23 @@ $(document).ready(function(){initNavTree('io__service_8hpp.html','');});
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
-<a href="#define-members">Macros</a> </div>
+<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">io_service.hpp File Reference</div> </div>
+<div class="title">process_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides io_service.
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
-<code>#include &lt;cassert&gt;</code><br />
-<code>#include &lt;deque&gt;</code><br />
-<code>#include &lt;mutex&gt;</code><br />
-<code>#include &lt;csignal&gt;</code><br />
+<div class="textblock"><code>#include &quot;<a class="el" href="path__view_8hpp.html">path_view.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="pipe__handle_8hpp.html">pipe_handle.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">llfio_v2_xxx::io_service</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An asynchronous i/o multiplexer service. <a href="classllfio__v2__xxx_1_1io__service.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">llfio_v2_xxx::process_handle</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to this, or another, process. <a href="classllfio__v2__xxx_1_1process__handle.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">llfio_v2_xxx::process_handle::_byte_array_deleter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <code>process_handle</code> <a href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -111,53 +110,23 @@ Namespaces</h2></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ab7ceb2549e8eeb033d1cdc8ea565a280"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280">LLFIO_USE_POSIX_AIO</a>&#160;&#160;&#160;1</td></tr>
-<tr class="memdesc:ab7ceb2549e8eeb033d1cdc8ea565a280"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undefined to autodetect, 1 to use POSIX AIO, 0 to not use. <a href="#ab7ceb2549e8eeb033d1cdc8ea565a280">More...</a><br /></td></tr>
-<tr class="separator:ab7ceb2549e8eeb033d1cdc8ea565a280"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a194acf5c39b199b59acafded3b2015b8"><td class="memItemLeft" align="right" valign="top"><a id="a194acf5c39b199b59acafded3b2015b8"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8">LLFIO_COMPILE_KQUEUES</a>&#160;&#160;&#160;0</td></tr>
-<tr class="memdesc:a194acf5c39b199b59acafded3b2015b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undefined to autodetect, 1 to compile in BSD kqueue support, 0 to leave it out. <br /></td></tr>
-<tr class="separator:a194acf5c39b199b59acafded3b2015b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5cfb661784f372559747708772b9106"><td class="memItemLeft" align="right" valign="top"><a id="af5cfb661784f372559747708772b9106"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__service_8hpp.html#af5cfb661784f372559747708772b9106">LLFIO_IO_POST_SIGNAL</a>&#160;&#160;&#160;(SIGUSR1)</td></tr>
-<tr class="memdesc:af5cfb661784f372559747708772b9106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undefined to autoset to first free SIGRTMIN if realtime signals available, else SIGUSR1. Only used if LLFIO_USE_KQUEUES=0. <br /></td></tr>
-<tr class="separator:af5cfb661784f372559747708772b9106"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2195d9a60e427e96cb90a7bb95f1b773"><td class="memItemLeft" align="right" valign="top"><a id="a2195d9a60e427e96cb90a7bb95f1b773"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773">LLFIO_HAVE_REALTIME_SIGNALS</a>&#160;&#160;&#160;0</td></tr>
-<tr class="memdesc:a2195d9a60e427e96cb90a7bb95f1b773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undefined to autodetect. 0 to use non-realtime signals. Note performance in this use case is abysmal. <br /></td></tr>
-<tr class="separator:a2195d9a60e427e96cb90a7bb95f1b773"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a94167268e0b7e7573e4599fd7872ef0f"><td class="memItemLeft" align="right" valign="top"><a id="a94167268e0b7e7573e4599fd7872ef0f"></a>
+std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator&lt;&lt;</b> (std::ostream &amp;s, const process_handle::flag &amp;v)</td></tr>
+<tr class="separator:a94167268e0b7e7573e4599fd7872ef0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides io_service. </p>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="ab7ceb2549e8eeb033d1cdc8ea565a280"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7ceb2549e8eeb033d1cdc8ea565a280">&#9670;&nbsp;</a></span>LLFIO_USE_POSIX_AIO</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define LLFIO_USE_POSIX_AIO&#160;&#160;&#160;1</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Undefined to autodetect, 1 to use POSIX AIO, 0 to not use. </p>
-<dl class="section warning"><dt>Warning</dt><dd>On FreeBSD the AIO kernel module needs to be loaded for POSIX AIO to work. Run as root 'kldload aio' or add 'aio_load=YES' in loader.conf. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
+<div class="textblock"><p>Provides a handle to a process </p>
+</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="io__service_8hpp.html">io_service.hpp</a></li>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="process__handle_8hpp.html">process_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/process__handle_8hpp.js b/process__handle_8hpp.js
new file mode 100644
index 00000000..ce35583a
--- /dev/null
+++ b/process__handle_8hpp.js
@@ -0,0 +1,7 @@
+var process__handle_8hpp =
+[
+ [ "process_handle", "classllfio__v2__xxx_1_1process__handle.html", "classllfio__v2__xxx_1_1process__handle" ],
+ [ "_byte_array_deleter", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter" ],
+ [ "construct< process_handle >", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4" ],
+ [ "operator<<", "process__handle_8hpp.html#a94167268e0b7e7573e4599fd7872ef0f", null ]
+]; \ No newline at end of file
diff --git a/reduce_8hpp.html b/reduce_8hpp.html
new file mode 100644
index 00000000..32c4f9de
--- /dev/null
+++ b/reduce_8hpp.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/algorithm/reduce.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('reduce_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">reduce.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="traverse_8hpp.html">traverse.hpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal and reduction algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of file system based algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="memItemLeft" align="right" valign="top">result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">llfio_v2_xxx::algorithm::reduce</a> (directory_handle &amp;&amp;dirh, reduce_visitor *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce the directory identified <code>dirh</code>, and everything therein, to the null set. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac">More...</a><br /></td></tr>
+<tr class="separator:a05594f7c8ae275fa65b2acd57cc9b8ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a directory tree reduction algorithm. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="reduce_8hpp.html">reduce.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/reduce_8hpp.js b/reduce_8hpp.js
new file mode 100644
index 00000000..3db1ad56
--- /dev/null
+++ b/reduce_8hpp.js
@@ -0,0 +1,5 @@
+var reduce_8hpp =
+[
+ [ "reduce_visitor", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor" ],
+ [ "reduce", "reduce_8hpp.html#a05594f7c8ae275fa65b2acd57cc9b8ac", null ]
+]; \ No newline at end of file
diff --git a/resize.js b/resize.js
index 56e4a023..a0bb5f45 100644
--- a/resize.js
+++ b/resize.js
@@ -1,3 +1,26 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2017 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this file
+ */
function initResizable()
{
var cookie_namespace = 'doxygen';
@@ -68,6 +91,7 @@ function initResizable()
}
collapsedWidth=width;
}
+ (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView();
}
function collapseExpand()
@@ -108,7 +132,6 @@ function initResizable()
var _preventDefault = function(evt) { evt.preventDefault(); };
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
$(".ui-resizable-handle").dblclick(collapseExpand);
- $(window).load(resizeHeight);
+ $(window).on('load',resizeHeight);
}
-
-
+/* @license-end */
diff --git a/safe__byte__ranges_8hpp.html b/safe__byte__ranges_8hpp.html
index b3154407..4b335172 100644
--- a/safe__byte__ranges_8hpp.html
+++ b/safe__byte__ranges_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/shared_fs_mutex/safe_byte_ranges.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('safe__byte__ranges_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('safe__byte__ranges_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('safe__byte__ranges_8hpp.html','');});
<div class="title">safe_byte_ranges.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides algorithm::shared_fs_mutex::safe_byte_ranges.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
<code>#include &lt;memory&gt;</code><br />
</div><table class="memberdecls">
@@ -119,7 +118,7 @@ result&lt; std::shared_ptr&lt; shared_fs_mutex &gt; &gt;&#160;</td><td class="me
<tr class="separator:a1a7e9cda94a1f38463e2e42af75c3e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides algorithm::shared_fs_mutex::safe_byte_ranges. </p>
+<div class="textblock"><p>Provides algorithm::shared_fs_mutex::safe_byte_ranges </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -128,7 +127,7 @@ result&lt; std::shared_ptr&lt; shared_fs_mutex &gt; &gt;&#160;</td><td class="me
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_e5b117e9e5b89263e91174673bb00c84.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="safe__byte__ranges_8hpp.html">safe_byte_ranges.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/search/all_0.html b/search/all_0.html
index f25360b7..26dd244f 100644
--- a/search/all_0.html
+++ b/search/all_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_0.js b/search/all_0.js
index 21a835c0..68d272d1 100644
--- a/search/all_0.js
+++ b/search/all_0.js
@@ -1,6 +1,16 @@
var searchData=
[
- ['_5fentity_5fidx',['_entity_idx',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['_5ffetch_5finode',['_fetch_inode',['../classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e',1,'llfio_v2_xxx::fs_handle']]],
- ['_5flock',['_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]]
+ ['_5fbyte_5farray_5fdeleter_0',['_byte_array_deleter',['../structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html',1,'llfio_v2_xxx::process_handle']]],
+ ['_5fdo_5fallocate_5fregistered_5fbuffer_1',['_do_allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa',1,'llfio_v2_xxx::io_handle']]],
+ ['_5fdo_5fbarrier_2',['_do_barrier',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e',1,'llfio_v2_xxx::fast_random_file_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60',1,'llfio_v2_xxx::io_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d',1,'llfio_v2_xxx::map_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2',1,'llfio_v2_xxx::mapped_file_handle::_do_barrier()']]],
+ ['_5fdo_5fmax_5fbuffers_3',['_do_max_buffers',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c',1,'llfio_v2_xxx::fast_random_file_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3',1,'llfio_v2_xxx::io_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0',1,'llfio_v2_xxx::map_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789',1,'llfio_v2_xxx::mapped_file_handle::_do_max_buffers()']]],
+ ['_5fdo_5fread_4',['_do_read',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8',1,'llfio_v2_xxx::fast_random_file_handle::_do_read()'],['../classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380',1,'llfio_v2_xxx::io_handle::_do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a',1,'llfio_v2_xxx::io_handle::_do_read(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5',1,'llfio_v2_xxx::map_handle::_do_read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7',1,'llfio_v2_xxx::mapped_file_handle::_do_read()']]],
+ ['_5fdo_5fwrite_5',['_do_write',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292',1,'llfio_v2_xxx::fast_random_file_handle::_do_write()'],['../classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f',1,'llfio_v2_xxx::io_handle::_do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f',1,'llfio_v2_xxx::io_handle::_do_write(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d',1,'llfio_v2_xxx::map_handle::_do_write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68',1,'llfio_v2_xxx::mapped_file_handle::_do_write()']]],
+ ['_5fentity_5fidx_6',['_entity_idx',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['_5ffetch_5finode_7',['_fetch_inode',['../classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e',1,'llfio_v2_xxx::fs_handle']]],
+ ['_5flock_8',['_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
+ ['_5fregistered_5fbuffer_5ftype_9',['_registered_buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['_5fstate_5ftype_10',['_state_type',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['_5fsynchronised_5fio_5foperation_5fstate_11',['_synchronised_io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['_5funsynchronised_5fio_5foperation_5fstate_12',['_unsynchronised_io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_result&lt; buffers_type &gt; &amp;&amp;res)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_result&lt; const_buffers_type &gt; &amp;&amp;res)']]]
];
diff --git a/search/all_1.html b/search/all_1.html
index b13f0f7f..8eb215b9 100644
--- a/search/all_1.html
+++ b/search/all_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_1.js b/search/all_1.js
index 39cd9b44..d6e48dfb 100644
--- a/search/all_1.js
+++ b/search/all_1.js
@@ -1,36 +1,31 @@
var searchData=
[
- ['acls',['acls',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['adapted_5fhandle_5ftype',['adapted_handle_type',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b',1,'llfio_v2_xxx::algorithm::cached_parent_handle_adapter']]],
- ['address',['address',['../classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737',1,'llfio_v2_xxx::map_handle::address()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c',1,'llfio_v2_xxx::mapped_file_handle::address()']]],
- ['all',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
- ['all_5ftemporary_5fdirectories',['all_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2',1,'llfio_v2_xxx::path_discovery']]],
- ['allocator',['allocator',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef',1,'kvstore_v1_xxx::basic_key_value_store::allocator() noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065',1,'kvstore_v1_xxx::basic_key_value_store::allocator() const noexcept']]],
- ['allocator_5ftype',['allocator_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['always_5fnew',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
- ['append',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
- ['are_5freads_5ffrom_5fcache',['are_reads_from_cache',['../classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff',1,'llfio_v2_xxx::handle']]],
- ['are_5fsafety_5fbarriers_5fissued',['are_safety_barriers_issued',['../classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1',1,'llfio_v2_xxx::handle']]],
- ['are_5fwrites_5fdurable',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
- ['as_5fspan',['as_span',['../classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65',1,'llfio_v2_xxx::map_handle::as_span() noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a',1,'llfio_v2_xxx::map_handle::as_span() const noexcept'],['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped::as_span()']]],
- ['assign',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
- ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30',1,'llfio_v2_xxx::async_file_handle']]],
- ['async_5ffile',['async_file',['../classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e',1,'llfio_v2_xxx::async_file_handle::async_file()'],['../namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149',1,'llfio_v2_xxx::async_file()']]],
- ['async_5ffile_5fhandle',['async_file_handle',['../classllfio__v2__xxx_1_1async__file__handle.html',1,'llfio_v2_xxx::async_file_handle'],['../classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0',1,'llfio_v2_xxx::async_file_handle::async_file_handle()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13',1,'llfio_v2_xxx::async_file_handle::async_file_handle(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da',1,'llfio_v2_xxx::async_file_handle::async_file_handle(async_file_handle &amp;&amp;o) noexcept=default'],['../classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495',1,'llfio_v2_xxx::async_file_handle::async_file_handle(const async_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4',1,'llfio_v2_xxx::async_file_handle::async_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe',1,'llfio_v2_xxx::async_file_handle::async_file_handle(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept']]],
- ['async_5ffile_5fhandle_2ehpp',['async_file_handle.hpp',['../async__file__handle_8hpp.html',1,'']]],
- ['async_5frandom_5ffile',['async_random_file',['../classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43',1,'llfio_v2_xxx::async_file_handle::async_random_file()'],['../namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd',1,'llfio_v2_xxx::async_random_file()']]],
- ['async_5fread',['async_read',['../classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d',1,'llfio_v2_xxx::async_file_handle::async_read()'],['../namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355',1,'llfio_v2_xxx::async_read()']]],
- ['async_5ftemp_5ffile',['async_temp_file',['../classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6',1,'llfio_v2_xxx::async_file_handle::async_temp_file()'],['../namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74',1,'llfio_v2_xxx::async_temp_file()']]],
- ['async_5ftemp_5finode',['async_temp_inode',['../classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661',1,'llfio_v2_xxx::async_file_handle::async_temp_inode()'],['../namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e',1,'llfio_v2_xxx::async_temp_inode()']]],
- ['async_5fwrite',['async_write',['../classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552',1,'llfio_v2_xxx::async_file_handle::async_write()'],['../namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591',1,'llfio_v2_xxx::async_write()']]],
- ['at',['at',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i) const']]],
- ['atomic_5fappend',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(atomic_append &amp;&amp;o) noexcept']]],
- ['atomic_5fappend_2ehpp',['atomic_append.hpp',['../atomic__append_8hpp.html',1,'']]],
- ['attr_5fread',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
- ['attr_5fwrite',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]],
- ['await_5fready',['await_ready',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['await_5fresume',['await_resume',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['await_5fsuspend',['await_suspend',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['awaitable',['awaitable',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html',1,'llfio_v2_xxx::async_file_handle']]],
- ['awaitable_5fpost_5fto_5fself',['awaitable_post_to_self',['../structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html',1,'llfio_v2_xxx::io_service::awaitable_post_to_self'],['../structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85',1,'llfio_v2_xxx::io_service::awaitable_post_to_self::awaitable_post_to_self()']]]
+ ['acls_13',['acls',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['adapted_5fhandle_5ftype_14',['adapted_handle_type',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b',1,'llfio_v2_xxx::algorithm::cached_parent_handle_adapter']]],
+ ['address_15',['address',['../classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737',1,'llfio_v2_xxx::map_handle::address()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c',1,'llfio_v2_xxx::mapped_file_handle::address()']]],
+ ['all_16',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
+ ['all_5ftemporary_5fdirectories_17',['all_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2',1,'llfio_v2_xxx::path_discovery']]],
+ ['allocate_5fregistered_5fbuffer_18',['allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3',1,'llfio_v2_xxx::io_handle']]],
+ ['allocated_19',['allocated',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['allocator_20',['allocator',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef',1,'kvstore_v1_xxx::basic_key_value_store::allocator() noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065',1,'kvstore_v1_xxx::basic_key_value_store::allocator() const noexcept']]],
+ ['allocator_5ftype_21',['allocator_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['always_5fnew_22',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
+ ['anonymous_5fpipe_23',['anonymous_pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b',1,'llfio_v2_xxx::pipe_handle']]],
+ ['any_24',['any',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec',1,'llfio_v2_xxx']]],
+ ['append_25',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
+ ['are_5freads_5ffrom_5fcache_26',['are_reads_from_cache',['../classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff',1,'llfio_v2_xxx::handle']]],
+ ['are_5fsafety_5fbarriers_5fissued_27',['are_safety_barriers_issued',['../classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1',1,'llfio_v2_xxx::handle']]],
+ ['are_5fwrites_5fdurable_28',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
+ ['as_5fspan_29',['as_span',['../classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65',1,'llfio_v2_xxx::map_handle::as_span() noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a',1,'llfio_v2_xxx::map_handle::as_span() const noexcept'],['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped::as_span()']]],
+ ['assign_30',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
+ ['at_31',['at',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i) const']]],
+ ['atomic_5fappend_32',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(atomic_append &amp;&amp;o) noexcept']]],
+ ['atomic_5fappend_2ehpp_33',['atomic_append.hpp',['../atomic__append_8hpp.html',1,'']]],
+ ['attr_5fread_34',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
+ ['attr_5fwrite_35',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]],
+ ['auto_5fformat_36',['auto_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039',1,'llfio_v2_xxx::path_view_component']]],
+ ['await_5fready_37',['await_ready',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['await_5fresume_38',['await_resume',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['awaitable_39',['awaitable',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html',1,'llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable(result_type &amp;&amp;res) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable(awaitable &amp;&amp;o) noexcept']]],
+ ['awaitable_5fhandle_40',['awaitable_handle',['../classllfio__v2__xxx_1_1awaitable__handle.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_10.html b/search/all_10.html
index d1345a1f..6fd3a4aa 100644
--- a/search/all_10.html
+++ b/search/all_10.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_10.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_10.js b/search/all_10.js
index b9ba9a68..80415ebf 100644
--- a/search/all_10.js
+++ b/search/all_10.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['quickcpplib_5fbitfield_5fbegin',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
- ['quickcpplib_5fbitfield_5fend',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
+ ['quickcpplib_5fbitfield_5fbegin_539',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d',1,'llfio_v2_xxx::process_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
+ ['quickcpplib_5fbitfield_5fend_540',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
];
diff --git a/search/all_11.html b/search/all_11.html
index 2be8b711..f78343b9 100644
--- a/search/all_11.html
+++ b/search/all_11.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_11.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_11.js b/search/all_11.js
index 423693c6..8b96af56 100644
--- a/search/all_11.js
+++ b/search/all_11.js
@@ -1,35 +1,43 @@
var searchData=
[
- ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
- ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
- ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
- ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
- ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
- ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
- ['rdonly',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['read',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
- ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]],
- ['rebind',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;']]],
- ['reference',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
- ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032',1,'llfio_v2_xxx::path_view']]],
- ['release',['release',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2',1,'llfio_v2_xxx::file_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
- ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
- ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee',1,'llfio_v2_xxx::path_view']]],
- ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
- ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
- ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
- ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
- ['result_5fstorage',['result_storage',['../unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html',1,'llfio_v2_xxx::async_file_handle::_erased_io_state_type']]],
- ['reverse_5fiterator',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba',1,'llfio_v2_xxx::path_view::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]],
- ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400',1,'llfio_v2_xxx::path_view']]],
- ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af',1,'llfio_v2_xxx::path_view']]],
- ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a',1,'llfio_v2_xxx::path_view']]],
- ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
- ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
- ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
- ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
- ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
- ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
+ ['random_5fentity_541',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['random_5ffill_542',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
+ ['random_5fpipe_543',['random_pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3',1,'llfio_v2_xxx::pipe_handle']]],
+ ['random_5fstring_544',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
+ ['rbegin_545',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
+ ['rdonly_546',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['read_547',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49',1,'llfio_v2_xxx::io_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['read_5fcompleted_548',['read_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['read_5ffinished_549',['read_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor::read_finished()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc',1,'llfio_v2_xxx::io_multiplexer::awaitable::read_finished()']]],
+ ['read_5finitiated_550',['read_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['read_5fparams_5ft_551',['read_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['read_5freceiver_552',['read_receiver',['../classllfio__v2__xxx_1_1read__receiver.html',1,'llfio_v2_xxx']]],
+ ['reads_553',['reads',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness::reads()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle::reads()']]],
+ ['reads_5fand_5fmetadata_554',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]],
+ ['rebind_555',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind']]],
+ ['reduce_556',['reduce',['../namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac',1,'llfio_v2_xxx::algorithm']]],
+ ['reduce_2ehpp_557',['reduce.hpp',['../reduce_8hpp.html',1,'']]],
+ ['reduce_5fvisitor_558',['reduce_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html',1,'llfio_v2_xxx::algorithm::reduce_visitor'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0',1,'llfio_v2_xxx::algorithm::reduce_visitor::reduce_visitor()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb',1,'llfio_v2_xxx::algorithm::reduce_visitor::reduce_visitor(std::chrono::steady_clock::duration _timeout)']]],
+ ['reduction_5fround_559',['reduction_round',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['reference_560',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
+ ['registered_5fbuffer_5ftype_561',['registered_buffer_type',['../classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['relative_5fpath_562',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032',1,'llfio_v2_xxx::path_view']]],
+ ['release_563',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1',1,'llfio_v2_xxx::unique_file_lock::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
+ ['relink_564',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62',1,'llfio_v2_xxx::mapped_file_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
+ ['relocate_5fto_565',['relocate_to',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::relocate_to()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::relocate_to()']]],
+ ['remove_5ffilename_566',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee',1,'llfio_v2_xxx::path_view']]],
+ ['rename_5ffailed_567',['rename_failed',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['rend_568',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
+ ['reopen_569',['reopen',['../classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537',1,'llfio_v2_xxx::directory_handle::reopen()'],['../classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60',1,'llfio_v2_xxx::file_handle::reopen()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b',1,'llfio_v2_xxx::symlink_handle::reopen()']]],
+ ['requires_5faligned_5fio_570',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
+ ['reserve_571',['reserve',['../classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc',1,'llfio_v2_xxx::map_handle::reserve()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
+ ['resize_572',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
+ ['result_5ftype_573',['result_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['reverse_5fiterator_574',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba',1,'llfio_v2_xxx::path_view::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]],
+ ['root_5fdirectory_575',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fname_576',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fpath_577',['root_path',['../classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a',1,'llfio_v2_xxx::path_view']]],
+ ['round_5fdown_5fto_5fpage_5fsize_578',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
+ ['round_5fup_5fto_5fpage_5fsize_579',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
+ ['running_5funder_5fwsl_580',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/all_12.html b/search/all_12.html
index 13c52637..dd9ff1d5 100644
--- a/search/all_12.html
+++ b/search/all_12.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_12.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_12.js b/search/all_12.js
index 5d973ef5..026920e3 100644
--- a/search/all_12.js
+++ b/search/all_12.js
@@ -1,64 +1,75 @@
var searchData=
[
- ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['safe_5fbyte_5franges_2ehpp',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
- ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
- ['score',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['section',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
- ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
- ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx::section_handle'],['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
- ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
- ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
- ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
- ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2',1,'llfio_v2_xxx::file_handle::extent_guard']]],
- ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
- ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
- ['shared',['shared',['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e',1,'llfio_v2_xxx::file_handle']]],
- ['shared_5ffs_5fmutex',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
- ['size_5ftype',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008',1,'llfio_v2_xxx::io_handle::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0',1,'llfio_v2_xxx::io_handle::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405',1,'llfio_v2_xxx::io_service::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
- ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['source_5ftype',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['spinlock_5ftype',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['st_5fallocated',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fatim',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fbirthtim',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblksize',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblocks',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fcompressed',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fctim',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fdev',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t::st_dev()'],['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle::st_dev()']]],
- ['st_5fflags',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgen',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgid',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fino',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t::st_ino()'],['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle::st_ino()']]],
- ['st_5fmtim',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fnlink',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fperms',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5frdev',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5freparse_5fpoint',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsize',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsparse',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5ftype',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fuid',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
- ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
- ['stat',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
- ['stat_2ehpp',['stat.hpp',['../stat_8hpp.html',1,'']]],
- ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx::stat_t'],['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t::stat_t()']]],
- ['statfs_2ehpp',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
- ['statfs_5ft',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx']]],
- ['steady',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]],
- ['stem',['stem',['../classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181',1,'llfio_v2_xxx::path_view_component::stem()'],['../classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8',1,'llfio_v2_xxx::path_view::stem()']]],
- ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
- ['storage_5fprofile',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
- ['storage_5fprofile_2ehpp',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
- ['storage_5ftypes',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
- ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f',1,'llfio_v2_xxx::path_view_component::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
- ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx::symlink_handle'],['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]],
- ['symlink_5fhandle_2ehpp',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]],
- ['symlink_5ftype',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]],
- ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['safe_5fbyte_5franges_581',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['safe_5fbyte_5franges_2ehpp_582',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
+ ['safety_5fbarriers_583',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
+ ['score_584',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['section_585',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
+ ['section_5fflags_586',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
+ ['section_5fhandle_587',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx::section_handle'],['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a',1,'llfio_v2_xxx::section_handle::section_handle(flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
+ ['set_5fappend_5fonly_588',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle::set_append_only()'],['../classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83',1,'llfio_v2_xxx::process_handle::set_append_only()']]],
+ ['set_5fbacking_589',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
+ ['set_5fdone_590',['set_done',['../classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8',1,'llfio_v2_xxx::read_receiver::set_done()'],['../classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8',1,'llfio_v2_xxx::write_receiver::set_done()']]],
+ ['set_5ferror_591',['set_error',['../classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976',1,'llfio_v2_xxx::read_receiver::set_error()'],['../classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f',1,'llfio_v2_xxx::write_receiver::set_error()']]],
+ ['set_5fhandle_592',['set_handle',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04',1,'llfio_v2_xxx::lockable_io_handle::extent_guard']]],
+ ['set_5fmultiplexer_593',['set_multiplexer',['../classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c',1,'llfio_v2_xxx::io_handle::set_multiplexer()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c',1,'llfio_v2_xxx::mapped_file_handle::set_multiplexer()'],['../namespacellfio__v2__xxx_1_1this__thread.html#a5221e1507e45bcb729961c59cce7fbae',1,'llfio_v2_xxx::this_thread::set_multiplexer()']]],
+ ['set_5fsection_594',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
+ ['set_5fvalue_595',['set_value',['../classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d',1,'llfio_v2_xxx::read_receiver::set_value()'],['../classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b',1,'llfio_v2_xxx::write_receiver::set_value()']]],
+ ['shared_596',['shared',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e',1,'llfio_v2_xxx']]],
+ ['shared_5ffs_5fmutex_597',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['shrink_5fto_5ffit_598',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['size_599',['size',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9',1,'llfio_v2_xxx::algorithm::traversal_summary::size()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add',1,'llfio_v2_xxx::io_multiplexer::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
+ ['size_5ftype_600',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1',1,'llfio_v2_xxx::io_multiplexer::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0',1,'llfio_v2_xxx::path_view_component::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
+ ['snapshot_601',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['source_5ftype_602',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['spinlock_5ftype_603',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['st_5fallocated_604',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fatim_605',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fbirthtim_606',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblksize_607',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblocks_608',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fcompressed_609',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fctim_610',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fdev_611',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t::st_dev()'],['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle::st_dev()']]],
+ ['st_5fflags_612',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgen_613',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgid_614',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fino_615',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t::st_ino()'],['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle::st_ino()']]],
+ ['st_5fmtim_616',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fnlink_617',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fperms_618',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5frdev_619',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5freparse_5fpoint_620',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsize_621',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsparse_622',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5ftype_623',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fuid_624',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
+ ['stack_5fupdated_625',['stack_updated',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54',1,'llfio_v2_xxx::algorithm::traverse_visitor']]],
+ ['stamp_626',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
+ ['stat_627',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
+ ['stat_2ehpp_628',['stat.hpp',['../stat_8hpp.html',1,'']]],
+ ['stat_5ft_629',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx::stat_t'],['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t::stat_t()']]],
+ ['state_630',['state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['statfs_2ehpp_631',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
+ ['statfs_5ft_632',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx']]],
+ ['steady_633',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]],
+ ['stem_634',['stem',['../classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181',1,'llfio_v2_xxx::path_view_component']]],
+ ['stopped_635',['stopped',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory_636',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
+ ['storage_5fprofile_637',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['storage_5fprofile_2ehpp_638',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
+ ['storage_5ftypes_639',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
+ ['submit_640',['submit',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8',1,'llfio_v2_xxx::dynamic_thread_pool_group::submit(span&lt; work_item * &gt; work) noexcept=0'],['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66',1,'llfio_v2_xxx::dynamic_thread_pool_group::submit(work_item *wi) noexcept']]],
+ ['summarize_641',['summarize',['../namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0',1,'llfio_v2_xxx::algorithm']]],
+ ['summarize_2ehpp_642',['summarize.hpp',['../summarize_8hpp.html',1,'']]],
+ ['summarize_5fvisitor_643',['summarize_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['swap_644',['swap',['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f',1,'llfio_v2_xxx::path_view_component::swap()'],['../classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0',1,'llfio_v2_xxx::pipe_handle::swap()'],['../classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888',1,'llfio_v2_xxx::process_handle::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
+ ['symbolic_645',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_646',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_5fadded_647',['symlink_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['symlink_5fhandle_648',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx::symlink_handle'],['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]],
+ ['symlink_5fhandle_2ehpp_649',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]],
+ ['symlink_5fremoved_650',['symlink_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['symlink_5ftype_651',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]],
+ ['system_652',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/all_13.html b/search/all_13.html
index b4a8bca6..2611a100 100644
--- a/search/all_13.html
+++ b/search/all_13.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_13.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_13.js b/search/all_13.js
index 4b2e30f6..064d74cf 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -1,21 +1,33 @@
var searchData=
[
- ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
- ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
- ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
- ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
- ['todo_20list',['Todo List',['../todo.html',1,'']]],
- ['transaction',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
- ['trivial_5fvector',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
- ['trivial_5fvector_2ehpp',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]],
- ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
- ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fiterator',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
- ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]],
- ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
- ['try_5flock_5frange',['try_lock_range',['../classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0',1,'llfio_v2_xxx::file_handle']]],
- ['type',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
+ ['temp_5fdirectory_653',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
+ ['temp_5ffile_654',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
+ ['temp_5finode_655',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
+ ['temporary_656',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
+ ['temporary_5fnamed_5fpipes_5fdirectory_657',['temporary_named_pipes_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188',1,'llfio_v2_xxx::path_discovery']]],
+ ['throw_5fexception_658',['throw_exception',['../structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c',1,'llfio_v2_xxx::error_info']]],
+ ['to_5fwin32_5fpath_659',['to_win32_path',['../classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4',1,'llfio_v2_xxx::fs_handle::to_win32_path()'],['../namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d',1,'llfio_v2_xxx::to_win32_path()']]],
+ ['todo_20list_660',['Todo List',['../todo.html',1,'']]],
+ ['total_5faddress_5fspace_5fin_5fuse_661',['total_address_space_in_use',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['total_5faddress_5fspace_5fpaged_5fin_662',['total_address_space_paged_in',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['transaction_663',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['transaction_5faborted_5fcollision_664',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
+ ['traversal_5fsummary_665',['traversal_summary',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html',1,'llfio_v2_xxx::algorithm']]],
+ ['traverse_666',['traverse',['../namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7',1,'llfio_v2_xxx::algorithm']]],
+ ['traverse_2ehpp_667',['traverse.hpp',['../traverse_8hpp.html',1,'']]],
+ ['traverse_5fvisitor_668',['traverse_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_669',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_2ehpp_670',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]],
+ ['trivial_5fvector_5fimpl_671',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
+ ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e_672',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e_673',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fiterator_674',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['truncate_675',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
+ ['truncate_5fexisting_676',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]],
+ ['try_5flock_677',['try_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948',1,'llfio_v2_xxx::unique_file_lock::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
+ ['try_5flock_5ffile_678',['try_lock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['try_5flock_5ffile_5fshared_679',['try_lock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['try_5flock_5fshared_680',['try_lock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['type_681',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]],
+ ['types_682',['types',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7',1,'llfio_v2_xxx::algorithm::traversal_summary']]]
];
diff --git a/search/all_14.html b/search/all_14.html
index fb4d0ecc..72d12e90 100644
--- a/search/all_14.html
+++ b/search/all_14.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_14.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_14.js b/search/all_14.js
index 7c0e2d14..7f656f85 100644
--- a/search/all_14.js
+++ b/search/all_14.js
@@ -1,20 +1,29 @@
var searchData=
[
- ['uint128',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['uint64',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
- ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
- ['unique_5fid_5ftype',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
- ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
- ['unlock',['unlock',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c',1,'llfio_v2_xxx::file_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
- ['unlock_5frange',['unlock_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164',1,'llfio_v2_xxx::fast_random_file_handle::unlock_range()'],['../classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9',1,'llfio_v2_xxx::file_handle::unlock_range()']]],
- ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
- ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]],
- ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
- ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['uri_5ftype',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]],
- ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]],
- ['utc',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]],
- ['utils_2ehpp',['utils.hpp',['../utils_8hpp.html',1,'']]]
+ ['uint128_683',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['uint64_684',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['underlying_5ffile_5fmaximum_5fextent_685',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
+ ['unique_5ffile_5flock_686',['unique_file_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html',1,'llfio_v2_xxx']]],
+ ['unique_5fid_687',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
+ ['unique_5fid_5ftype_688',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
+ ['unique_5fid_5ftype_5fhasher_689',['unique_id_type_hasher',['../classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7',1,'llfio_v2_xxx::fs_handle']]],
+ ['uniquely_5fnamed_5fdirectory_690',['uniquely_named_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091',1,'llfio_v2_xxx::directory_handle::uniquely_named_directory()'],['../namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0',1,'llfio_v2_xxx::uniquely_named_directory()']]],
+ ['uniquely_5fnamed_5ffile_691',['uniquely_named_file',['../classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709',1,'llfio_v2_xxx::file_handle::uniquely_named_file()'],['../namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21',1,'llfio_v2_xxx::uniquely_named_file()']]],
+ ['uniquely_5fnamed_5fsymlink_692',['uniquely_named_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148',1,'llfio_v2_xxx::symlink_handle']]],
+ ['unknown_693',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['unlink_694',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
+ ['unlink_5ffailed_695',['unlink_failed',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['unlock_696',['unlock',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard::unlock()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694',1,'llfio_v2_xxx::unique_file_lock::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
+ ['unlock_5ffile_697',['unlock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['unlock_5ffile_5frange_698',['unlock_file_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d',1,'llfio_v2_xxx::fast_random_file_handle::unlock_file_range()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287',1,'llfio_v2_xxx::lockable_io_handle::unlock_file_range()']]],
+ ['unlock_5ffile_5fshared_699',['unlock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['unlock_5fshared_700',['unlock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['unlocked_701',['unlocked',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f',1,'llfio_v2_xxx']]],
+ ['unsupported_5fintegrity_702',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
+ ['unsupported_5furi_703',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]],
+ ['update_5fmap_704',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
+ ['uri_705',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['uri_5ftype_706',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]],
+ ['utc_707',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]],
+ ['utils_2ehpp_708',['utils.hpp',['../utils_8hpp.html',1,'']]]
];
diff --git a/search/all_15.html b/search/all_15.html
index 8afe9a03..767aec36 100644
--- a/search/all_15.html
+++ b/search/all_15.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_15.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_15.js b/search/all_15.js
index ef9c0157..274e284e 100644
--- a/search/all_15.js
+++ b/search/all_15.js
@@ -1,8 +1,10 @@
var searchData=
[
- ['value',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()']]],
- ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['value_5ftype',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]],
- ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]],
- ['version_2ehpp',['version.hpp',['../version_8hpp.html',1,'']]]
+ ['value_709',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()'],['../structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a',1,'llfio_v2_xxx::error_info::value()']]],
+ ['value_5fsize_710',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['value_5ftype_711',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406',1,'llfio_v2_xxx::read_receiver::value_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b',1,'llfio_v2_xxx::write_receiver::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]],
+ ['verified_5ftemporary_5fdirectories_712',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]],
+ ['version_2ehpp_713',['version.hpp',['../version_8hpp.html',1,'']]],
+ ['visit_714',['visit',['../namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1',1,'llfio_v2_xxx']]],
+ ['visitor_715',['visitor',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c',1,'llfio_v2_xxx::io_multiplexer::io_operation_state']]]
];
diff --git a/search/all_16.html b/search/all_16.html
index e511edbc..7bd7afe6 100644
--- a/search/all_16.html
+++ b/search/all_16.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_16.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_16.js b/search/all_16.js
index e60cdbee..fa07b4bf 100644
--- a/search/all_16.js
+++ b/search/all_16.js
@@ -1,8 +1,23 @@
var searchData=
[
- ['wait_5fall',['wait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_handle']]],
- ['wait_5fdata_5fonly',['wait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_handle']]],
- ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
- ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
- ['write',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
+ ['wait_716',['wait',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887',1,'llfio_v2_xxx::dynamic_thread_pool_group::wait()'],['../classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2',1,'llfio_v2_xxx::process_handle::wait()']]],
+ ['wait_5fall_717',['wait_all',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['wait_5fdata_5fonly_718',['wait_data_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['wait_5ffor_719',['wait_for',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['wait_5funtil_720',['wait_until',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['wait_5fview_5fonly_721',['wait_view_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['wake_5fcheck_5ffor_5fany_5fcompleted_5fio_722',['wake_check_for_any_completed_io',['../classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['want_723',['want',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['win32_5fpath_5fnamespace_724',['win32_path_namespace',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a',1,'llfio_v2_xxx']]],
+ ['win_5fjunction_725',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
+ ['win_5fwsl_726',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
+ ['without_5ftrailing_5fseparator_727',['without_trailing_separator',['../classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998',1,'llfio_v2_xxx::path_view']]],
+ ['work_5fitem_728',['work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['write_729',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d',1,'llfio_v2_xxx::io_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['write_5fcompleted_730',['write_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['write_5finitiated_731',['write_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['write_5for_5fbarrier_5ffinished_732',['write_or_barrier_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor::write_or_barrier_finished()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b',1,'llfio_v2_xxx::io_multiplexer::awaitable::write_or_barrier_finished()']]],
+ ['write_5fparams_5ft_733',['write_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['write_5freceiver_734',['write_receiver',['../classllfio__v2__xxx_1_1write__receiver.html',1,'llfio_v2_xxx']]],
+ ['writes_735',['writes',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness']]]
];
diff --git a/search/all_17.html b/search/all_17.html
index 5ca9efdc..35702ecd 100644
--- a/search/all_17.html
+++ b/search/all_17.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_17.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_17.js b/search/all_17.js
index 6f83b03c..a79bf4c6 100644
--- a/search/all_17.js
+++ b/search/all_17.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['xattr',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['xor_2ehpp',['xor.hpp',['../xor_8hpp.html',1,'']]],
- ['xor_5fhandle_5fadapter',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
+ ['xattr_736',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['xor_2ehpp_737',['xor.hpp',['../xor_8hpp.html',1,'']]],
+ ['xor_5fhandle_5fadapter_738',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
];
diff --git a/search/all_18.html b/search/all_18.html
index 069edeb7..540cdb6a 100644
--- a/search/all_18.html
+++ b/search/all_18.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_18.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_18.js b/search/all_18.js
index af5c3e19..b36c84e9 100644
--- a/search/all_18.js
+++ b/search/all_18.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
- ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
+ ['zero_739',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab',1,'llfio_v2_xxx::file_handle::zero(extent_pair extent, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4',1,'llfio_v2_xxx::file_handle::zero(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
+ ['zero_5fmemory_740',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]],
+ ['zero_5fterminated_741',['zero_terminated',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6',1,'llfio_v2_xxx::path_view_component']]],
+ ['zero_5ftermination_742',['zero_termination',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e',1,'llfio_v2_xxx::path_view_component::zero_termination()'],['../classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71',1,'llfio_v2_xxx::path_view_component::zero_termination() const noexcept']]]
];
diff --git a/search/all_19.html b/search/all_19.html
index 4fdfe460..14e13e7d 100644
--- a/search/all_19.html
+++ b/search/all_19.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_19.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_19.js b/search/all_19.js
index 54bd75f7..d388d52a 100644
--- a/search/all_19.js
+++ b/search/all_19.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+ ['_7eawaitable_743',['~awaitable',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['_7emapped_744',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
];
diff --git a/search/all_2.html b/search/all_2.html
index 9543c57b..b26d9165 100644
--- a/search/all_2.html
+++ b/search/all_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_2.js b/search/all_2.js
index 5c7ba9e2..84c89ab1 100644
--- a/search/all_2.js
+++ b/search/all_2.js
@@ -1,21 +1,27 @@
var searchData=
[
- ['back',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
- ['backing',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
- ['backing_5fnative_5fhandle',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
- ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f',1,'llfio_v2_xxx::io_handle']]],
- ['barrier_5fkind',['barrier_kind',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565',1,'llfio_v2_xxx::io_handle']]],
- ['base_2ehpp',['base.hpp',['../base_8hpp.html',1,'']]],
- ['basic_5fkey_5fvalue_5fstore',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html',1,'kvstore_v1_xxx::basic_key_value_store'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store::basic_key_value_store()']]],
- ['basic_5fkey_5fvalue_5fstore_5finfo',['basic_key_value_store_info',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html',1,'kvstore_v1_xxx']]],
- ['begin',['begin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23',1,'llfio_v2_xxx::io_handle::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c',1,'llfio_v2_xxx::io_handle::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a',1,'llfio_v2_xxx::path_view::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891',1,'llfio_v2_xxx::path_view::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
- ['begin_5ftransaction',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['buffer_5ftype',['buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html',1,'llfio_v2_xxx::io_handle::buffer_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607',1,'kvstore_v1_xxx::basic_key_value_store::buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952',1,'llfio_v2_xxx::directory_handle::buffer_type()'],['../classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8',1,'llfio_v2_xxx::io_service::buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd',1,'llfio_v2_xxx::symlink_handle::buffer_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type()=default'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type(pointer data, size_type len) noexcept']]],
- ['buffers_5ftype',['buffers_type',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',1,'llfio_v2_xxx::directory_handle::buffers_type'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',1,'llfio_v2_xxx::symlink_handle::buffers_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c',1,'kvstore_v1_xxx::basic_key_value_store::buffers_type()'],['../classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed',1,'llfio_v2_xxx::io_handle::buffers_type()'],['../classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a',1,'llfio_v2_xxx::io_service::buffers_type()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v)'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete']]],
- ['byte',['byte',['../classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a',1,'llfio_v2_xxx::path_view_component::byte()'],['../classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca',1,'llfio_v2_xxx::path_view::byte()']]],
- ['byte_5franges',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(byte_ranges &amp;&amp;o) noexcept']]],
- ['byte_5franges_2ehpp',['byte_ranges.hpp',['../byte__ranges_8hpp.html',1,'']]],
- ['bytes_5fstored',['bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['bytes_5ftransferred',['bytes_transferred',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a',1,'llfio_v2_xxx::io_handle::io_result']]],
- ['build_20instructions',['Build instructions',['../md__build.html',1,'']]]
+ ['back_41',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
+ ['backing_42',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
+ ['backing_5fnative_5fhandle_43',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
+ ['barrier_44',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32',1,'llfio_v2_xxx::io_handle']]],
+ ['barrier_5fcompleted_45',['barrier_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['barrier_5finitiated_46',['barrier_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['barrier_5fkind_47',['barrier_kind',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['barrier_5fparams_5ft_48',['barrier_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['barriers_49',['barriers',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness']]],
+ ['base_50',['base',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]],
+ ['base_2ehpp_51',['base.hpp',['../base_8hpp.html',1,'']]],
+ ['basic_5fkey_5fvalue_5fstore_52',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html',1,'kvstore_v1_xxx::basic_key_value_store'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store::basic_key_value_store()']]],
+ ['basic_5fkey_5fvalue_5fstore_5finfo_53',['basic_key_value_store_info',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html',1,'kvstore_v1_xxx']]],
+ ['begin_54',['begin',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb',1,'llfio_v2_xxx::io_multiplexer::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959',1,'llfio_v2_xxx::io_multiplexer::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c',1,'llfio_v2_xxx::path_view::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b',1,'llfio_v2_xxx::path_view::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
+ ['begin_5ftransaction_55',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['binary_5fformat_56',['binary_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055',1,'llfio_v2_xxx::path_view_component']]],
+ ['buffer_5ftype_57',['buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html',1,'llfio_v2_xxx::io_multiplexer::buffer_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607',1,'kvstore_v1_xxx::basic_key_value_store::buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952',1,'llfio_v2_xxx::directory_handle::buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd',1,'llfio_v2_xxx::symlink_handle::buffer_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type()=default'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type(span&lt; byte &gt; s) noexcept']]],
+ ['buffers_5ftype_58',['buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',1,'llfio_v2_xxx::symlink_handle::buffers_type'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',1,'llfio_v2_xxx::directory_handle::buffers_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c',1,'kvstore_v1_xxx::basic_key_value_store::buffers_type()'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354',1,'llfio_v2_xxx::io_multiplexer::buffers_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77',1,'llfio_v2_xxx::io_multiplexer::awaitable::buffers_type()'],['../classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1',1,'llfio_v2_xxx::read_receiver::buffers_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183',1,'llfio_v2_xxx::write_receiver::buffers_type()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v)'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v, buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete']]],
+ ['byte_59',['byte',['../classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a',1,'llfio_v2_xxx::path_view_component']]],
+ ['byte_5franges_60',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(byte_ranges &amp;&amp;o) noexcept']]],
+ ['byte_5franges_2ehpp_61',['byte_ranges.hpp',['../byte__ranges_8hpp.html',1,'']]],
+ ['bytes_5fstored_62',['bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['bytes_5ftransferred_63',['bytes_transferred',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff',1,'llfio_v2_xxx::io_multiplexer::io_result']]],
+ ['build_20instructions_64',['Build instructions',['../md__build.html',1,'']]]
];
diff --git a/search/all_3.html b/search/all_3.html
index 03405c0f..b61b96f8 100644
--- a/search/all_3.html
+++ b/search/all_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_3.js b/search/all_3.js
index f57aec7b..3728b282 100644
--- a/search/all_3.js
+++ b/search/all_3.js
@@ -1,46 +1,78 @@
var searchData=
[
- ['cache_5fparent',['cache_parent',['../namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb',1,'llfio_v2_xxx::algorithm']]],
- ['cached_5fparent_2ehpp',['cached_parent.hpp',['../cached__parent_8hpp.html',1,'']]],
- ['cached_5fparent_5fhandle_5fadapter',['cached_parent_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
- ['caching',['caching',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852',1,'llfio_v2_xxx::handle::caching()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c',1,'kvstore_v1_xxx::basic_key_value_store_info::caching()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a0608d53e48b38adcb71682ed62cc05e3',1,'kvstore_v1_xxx::basic_key_value_store::caching()']]],
- ['capacity',['capacity',['../classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152',1,'llfio_v2_xxx::map_handle::capacity()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe',1,'llfio_v2_xxx::mapped_file_handle::capacity()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::capacity()']]],
- ['capacity_5ftype',['capacity_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['cbegin',['cbegin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205',1,'llfio_v2_xxx::io_handle::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2',1,'llfio_v2_xxx::io_handle::const_buffer_type::cbegin()'],['../classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da',1,'llfio_v2_xxx::path_view::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
- ['cend',['cend',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36',1,'llfio_v2_xxx::io_handle::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554',1,'llfio_v2_xxx::io_handle::const_buffer_type::cend()'],['../classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042',1,'llfio_v2_xxx::path_view::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
- ['clear',['clear',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39',1,'kvstore_v1_xxx::basic_key_value_store::clear()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
- ['clone',['clone',['../classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba',1,'llfio_v2_xxx::async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
- ['clone_5fto_5fpath_5fhandle',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle']]],
- ['close',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165',1,'llfio_v2_xxx::fast_random_file_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
- ['co_5fread',['co_read',['../classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664',1,'llfio_v2_xxx::async_file_handle::co_read(io_request&lt; buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45',1,'llfio_v2_xxx::async_file_handle::co_read(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept'],['../namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb',1,'llfio_v2_xxx::co_read(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs) noexcept'],['../namespacellfio__v2__xxx.html#a07564a34b6f382b68c6d6045c8b4b6c7',1,'llfio_v2_xxx::co_read(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::buffer_type &gt; lst) noexcept']]],
- ['co_5fwrite',['co_write',['../classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411',1,'llfio_v2_xxx::async_file_handle::co_write(io_request&lt; const_buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f',1,'llfio_v2_xxx::async_file_handle::co_write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst) noexcept'],['../namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6',1,'llfio_v2_xxx::co_write(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs) noexcept'],['../namespacellfio__v2__xxx.html#a136e03c52e467a86c5dc76205d19f447',1,'llfio_v2_xxx::co_write(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::const_buffer_type &gt; lst) noexcept']]],
- ['combining_2ehpp',['combining.hpp',['../combining_8hpp.html',1,'']]],
- ['combining_5fhandle_5fadapter',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',1,'llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter()=default'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, Args &amp;&amp;... args)'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(const combining_handle_adapter &amp;)=delete']]],
- ['commit',['commit',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b',1,'kvstore_v1_xxx::basic_key_value_store::transaction::commit()'],['../classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7',1,'llfio_v2_xxx::map_handle::commit()']]],
- ['compression',['compression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['configuration_20macros',['Configuration macros',['../group__config.html',1,'']]],
- ['config_2ehpp',['config.hpp',['../config_8hpp.html',1,'']]],
- ['const_5fbuffer_5ftype',['const_buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html',1,'llfio_v2_xxx::io_handle::const_buffer_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a',1,'kvstore_v1_xxx::basic_key_value_store::const_buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a',1,'llfio_v2_xxx::directory_handle::const_buffer_type()'],['../classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a',1,'llfio_v2_xxx::io_service::const_buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2',1,'llfio_v2_xxx::symlink_handle::const_buffer_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type()=default'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type(buffer_type b) noexcept']]],
- ['const_5fbuffers_5ftype',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',1,'llfio_v2_xxx::symlink_handle::const_buffers_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac',1,'kvstore_v1_xxx::basic_key_value_store::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e',1,'llfio_v2_xxx::io_handle::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe',1,'llfio_v2_xxx::io_service::const_buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const buffers_type &amp;)=delete']]],
- ['const_5fiterator',['const_iterator',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed',1,'llfio_v2_xxx::io_handle::buffer_type::const_iterator()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52',1,'llfio_v2_xxx::mapped::const_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd',1,'llfio_v2_xxx::path_view::const_iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392',1,'llfio_v2_xxx::storage_profile::storage_profile::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c',1,'llfio_v2_xxx::symlink_handle::buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_iterator()']]],
- ['const_5fpointer',['const_pointer',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3',1,'llfio_v2_xxx::io_handle::buffer_type::const_pointer()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b',1,'llfio_v2_xxx::mapped::const_pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_pointer()']]],
- ['const_5freference',['const_reference',['../classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876',1,'llfio_v2_xxx::mapped::const_reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59',1,'llfio_v2_xxx::storage_profile::storage_profile::const_reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aeb87ab0a0db5333ebeb9f02cbc526e05',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reference()']]],
- ['const_5freverse_5fiterator',['const_reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e',1,'llfio_v2_xxx::mapped::const_reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8',1,'llfio_v2_xxx::path_view::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reverse_iterator()']]],
- ['construct',['construct',['../structllfio__v2__xxx_1_1construct.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20algorithm_3a_3acached_5fparent_5fhandle_5fadapter_3c_20t_20_3e_20_3e',['construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;',['../structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20async_5ffile_5fhandle_20_3e',['construct&lt; async_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20directory_5fhandle_20_3e',['construct&lt; directory_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20fast_5frandom_5ffile_5fhandle_20_3e',['construct&lt; fast_random_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20file_5fhandle_20_3e',['construct&lt; file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20map_5fhandle_20_3e',['construct&lt; map_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20mapped_5ffile_5fhandle_20_3e',['construct&lt; mapped_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20path_5fhandle_20_3e',['construct&lt; path_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20section_5fhandle_20_3e',['construct&lt; section_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20symlink_5fhandle_20_3e',['construct&lt; symlink_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['crbegin',['crbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['create',['create',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['create_5fkvstore',['create_kvstore',['../namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817',1,'kvstore_v1_xxx']]],
- ['creation',['creation',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42',1,'llfio_v2_xxx::handle::creation()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8',1,'kvstore_v1_xxx::basic_key_value_store_info::creation()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a77a90d11f98460cc0ff2765e5a479d4e',1,'kvstore_v1_xxx::basic_key_value_store::creation()']]],
- ['crend',['crend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['current_5fpath',['current_path',['../classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535',1,'llfio_v2_xxx::handle::current_path()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746',1,'llfio_v2_xxx::symlink_handle::current_path()']]]
+ ['cache_5fparent_65',['cache_parent',['../namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb',1,'llfio_v2_xxx::algorithm']]],
+ ['cached_5fparent_2ehpp_66',['cached_parent.hpp',['../cached__parent_8hpp.html',1,'']]],
+ ['cached_5fparent_5fhandle_5fadapter_67',['cached_parent_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
+ ['caching_68',['caching',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852',1,'llfio_v2_xxx::handle::caching()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c',1,'kvstore_v1_xxx::basic_key_value_store_info::caching()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a0608d53e48b38adcb71682ed62cc05e3',1,'kvstore_v1_xxx::basic_key_value_store::caching()']]],
+ ['cancel_5fio_5foperation_69',['cancel_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['capacity_70',['capacity',['../classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152',1,'llfio_v2_xxx::map_handle::capacity()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe',1,'llfio_v2_xxx::mapped_file_handle::capacity()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::capacity()']]],
+ ['capacity_5ftype_71',['capacity_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['cbegin_72',['cbegin',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9',1,'llfio_v2_xxx::io_multiplexer::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::cbegin()'],['../classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da',1,'llfio_v2_xxx::path_view::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
+ ['cend_73',['cend',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead',1,'llfio_v2_xxx::io_multiplexer::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::cend()'],['../classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042',1,'llfio_v2_xxx::path_view::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
+ ['change_5ft_74',['change_t',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['check_5ffor_5fany_5fcompleted_5fio_75',['check_for_any_completed_io',['../classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['check_5ffor_5fany_5fcompleted_5fio_5fstatistics_76',['check_for_any_completed_io_statistics',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['check_5fio_5foperation_77',['check_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['clear_78',['clear',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39',1,'kvstore_v1_xxx::basic_key_value_store::clear()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
+ ['clear_5fstorage_79',['clear_storage',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['clone_80',['clone',['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9',1,'llfio_v2_xxx::process_handle::clone()']]],
+ ['clone_2ehpp_81',['clone.hpp',['../clone_8hpp.html',1,'']]],
+ ['clone_5fextents_5fto_82',['clone_extents_to',['../classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94',1,'llfio_v2_xxx::file_handle::clone_extents_to(extent_pair extent, io_handle &amp;dest, io_handle::extent_type destoffset, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce',1,'llfio_v2_xxx::file_handle::clone_extents_to(io_handle &amp;dest, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept']]],
+ ['clone_5for_5fcopy_83',['clone_or_copy',['../namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004',1,'llfio_v2_xxx::algorithm']]],
+ ['clone_5fto_5fpath_5fhandle_84',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle::clone_to_path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a',1,'llfio_v2_xxx::path_handle::clone_to_path_handle()']]],
+ ['close_85',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165',1,'llfio_v2_xxx::fast_random_file_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2',1,'llfio_v2_xxx::io_handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e',1,'llfio_v2_xxx::pipe_handle::close()'],['../classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9',1,'llfio_v2_xxx::process_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
+ ['close_5fpipes_86',['close_pipes',['../classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976',1,'llfio_v2_xxx::process_handle']]],
+ ['co_5fbarrier_87',['co_barrier',['../classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555',1,'llfio_v2_xxx::io_handle']]],
+ ['co_5fread_88',['co_read',['../classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e',1,'llfio_v2_xxx::io_handle']]],
+ ['co_5fwrite_89',['co_write',['../classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee',1,'llfio_v2_xxx::io_handle']]],
+ ['combining_2ehpp_90',['combining.hpp',['../combining_8hpp.html',1,'']]],
+ ['combining_5fhandle_5fadapter_91',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',1,'llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter()=default'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, io_multiplexer *ctx=nullptr, Args &amp;&amp;... args)'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(const combining_handle_adapter &amp;)=delete']]],
+ ['commit_92',['commit',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b',1,'kvstore_v1_xxx::basic_key_value_store::transaction::commit()'],['../classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7',1,'llfio_v2_xxx::map_handle::commit()']]],
+ ['compare_5fvisitor_93',['compare_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['completed_5fread_94',['completed_read',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['completed_5fwrite_5for_5fbarrier_95',['completed_write_or_barrier',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['compression_96',['compression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['configuration_20macros_97',['Configuration macros',['../group__config.html',1,'']]],
+ ['config_2ehpp_98',['config.hpp',['../config_8hpp.html',1,'']]],
+ ['const_5fbuffer_5ftype_99',['const_buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a',1,'kvstore_v1_xxx::basic_key_value_store::const_buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a',1,'llfio_v2_xxx::directory_handle::const_buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2',1,'llfio_v2_xxx::symlink_handle::const_buffer_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type()=default'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(span&lt; const byte &gt; s) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(buffer_type b) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(span&lt; byte &gt; s) noexcept']]],
+ ['const_5fbuffers_5ftype_100',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',1,'llfio_v2_xxx::symlink_handle::const_buffers_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac',1,'kvstore_v1_xxx::basic_key_value_store::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051',1,'llfio_v2_xxx::io_multiplexer::const_buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const buffers_type &amp;)=delete']]],
+ ['const_5fiterator_101',['const_iterator',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a',1,'llfio_v2_xxx::io_multiplexer::buffer_type::const_iterator()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd',1,'llfio_v2_xxx::path_view::const_iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392',1,'llfio_v2_xxx::storage_profile::storage_profile::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c',1,'llfio_v2_xxx::symlink_handle::buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_iterator()']]],
+ ['const_5fpointer_102',['const_pointer',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41',1,'llfio_v2_xxx::io_multiplexer::buffer_type::const_pointer()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b',1,'llfio_v2_xxx::mapped::const_pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_pointer()']]],
+ ['const_5freference_103',['const_reference',['../classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876',1,'llfio_v2_xxx::mapped::const_reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59',1,'llfio_v2_xxx::storage_profile::storage_profile::const_reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aeb87ab0a0db5333ebeb9f02cbc526e05',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reference()']]],
+ ['const_5freverse_5fiterator_104',['const_reverse_iterator',['../classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8',1,'llfio_v2_xxx::path_view::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reverse_iterator()']]],
+ ['construct_105',['construct',['../structllfio__v2__xxx_1_1construct.html',1,'llfio_v2_xxx::construct&lt; T &gt;'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0'],['../classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept=0'],['../classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept=0']]],
+ ['construct_3c_20algorithm_3a_3acached_5fparent_5fhandle_5fadapter_3c_20t_20_3e_20_3e_106',['construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;',['../structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20directory_5fhandle_20_3e_107',['construct&lt; directory_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20fast_5frandom_5ffile_5fhandle_20_3e_108',['construct&lt; fast_random_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20file_5fhandle_20_3e_109',['construct&lt; file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20map_5fhandle_20_3e_110',['construct&lt; map_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20mapped_5ffile_5fhandle_20_3e_111',['construct&lt; mapped_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20path_5fhandle_20_3e_112',['construct&lt; path_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20pipe_5fhandle_20_3e_113',['construct&lt; pipe_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20process_5fhandle_20_3e_114',['construct&lt; process_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20section_5fhandle_20_3e_115',['construct&lt; section_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20symlink_5fhandle_20_3e_116',['construct&lt; symlink_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_5fand_5finit_5fio_5foperation_117',['construct_and_init_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept']]],
+ ['contains_5fglob_118',['contains_glob',['../classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204',1,'llfio_v2_xxx::path_view_component']]],
+ ['content_5fcomparison_119',['content_comparison',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['content_5fmetadata_5fchanged_120',['content_metadata_changed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['contents_121',['contents',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9',1,'llfio_v2_xxx::algorithm::contents_visitor::contents()'],['../namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2',1,'llfio_v2_xxx::algorithm::contents()']]],
+ ['contents_2ehpp_122',['contents.hpp',['../contents_8hpp.html',1,'']]],
+ ['contents_5finclude_5fdirectories_123',['contents_include_directories',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5ffiles_124',['contents_include_files',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5fmetadata_125',['contents_include_metadata',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5fsymlinks_126',['contents_include_symlinks',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5ftype_127',['contents_type',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5fvisitor_128',['contents_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html',1,'llfio_v2_xxx::algorithm::contents_visitor'],['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_visitor()=default'],['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_visitor(stat_t::want _metadata, bool _include_files=true, bool _include_directories=true, bool _include_symlinks=true)']]],
+ ['crbegin_129',['crbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['create_130',['create',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['create_5fkvstore_131',['create_kvstore',['../namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817',1,'kvstore_v1_xxx']]],
+ ['creation_132',['creation',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42',1,'llfio_v2_xxx::handle::creation()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8',1,'kvstore_v1_xxx::basic_key_value_store_info::creation()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a77a90d11f98460cc0ff2765e5a479d4e',1,'kvstore_v1_xxx::basic_key_value_store::creation()']]],
+ ['crend_133',['crend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['current_134',['current',['../classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9',1,'llfio_v2_xxx::process_handle']]],
+ ['current_5fnesting_5flevel_135',['current_nesting_level',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['current_5fpath_136',['current_path',['../classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535',1,'llfio_v2_xxx::handle::current_path()'],['../classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943',1,'llfio_v2_xxx::process_handle::current_path()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746',1,'llfio_v2_xxx::symlink_handle::current_path()']]],
+ ['current_5fprocess_5fmemory_5fusage_137',['current_process_memory_usage',['../namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92',1,'llfio_v2_xxx::utils']]],
+ ['current_5fstate_138',['current_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::current_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::current_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::current_state()']]],
+ ['current_5fwork_5fitem_139',['current_work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2',1,'llfio_v2_xxx::dynamic_thread_pool_group']]]
];
diff --git a/search/all_4.html b/search/all_4.html
index 8e1f4b9c..06de1550 100644
--- a/search/all_4.html
+++ b/search/all_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_4.js b/search/all_4.js
index cb22f20b..a4733313 100644
--- a/search/all_4.js
+++ b/search/all_4.js
@@ -1,23 +1,41 @@
var searchData=
[
- ['data',['data',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d',1,'llfio_v2_xxx::io_handle::buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5',1,'llfio_v2_xxx::io_handle::buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e',1,'llfio_v2_xxx::io_handle::const_buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b',1,'llfio_v2_xxx::io_handle::const_buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() const noexcept']]],
- ['deadline',['deadline',['../structllfio__v2__xxx_1_1deadline.html',1,'llfio_v2_xxx']]],
- ['deadline_2eh',['deadline.h',['../deadline_8h.html',1,'']]],
- ['decommit',['decommit',['../classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75',1,'llfio_v2_xxx::map_handle']]],
- ['default_5finternal_5fbuffer_5fsize',['default_internal_buffer_size',['../classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91',1,'llfio_v2_xxx::path_view_component::default_internal_buffer_size()'],['../classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf',1,'llfio_v2_xxx::path_view::default_internal_buffer_size()']]],
- ['default_5fvalue',['default_value',['../namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c',1,'llfio_v2_xxx::storage_profile']]],
- ['dependencies',['dependencies',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8',1,'kvstore_v1_xxx::basic_key_value_store::transaction']]],
- ['description',['description',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0',1,'llfio_v2_xxx::storage_profile::item_base']]],
- ['difference_5ftype',['difference_type',['../classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11',1,'llfio_v2_xxx::mapped::difference_type()'],['../classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025',1,'llfio_v2_xxx::path_view::difference_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa8d8f5c1656378091389ac0a7abc6c68',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::difference_type()']]],
- ['directory',['directory',['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
- ['directory_5fentry',['directory_entry',['../structllfio__v2__xxx_1_1directory__entry.html',1,'llfio_v2_xxx']]],
- ['directory_5fhandle',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html',1,'llfio_v2_xxx::directory_handle'],['../classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e',1,'llfio_v2_xxx::directory_handle::directory_handle()'],['../classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552',1,'llfio_v2_xxx::directory_handle::directory_handle(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8',1,'llfio_v2_xxx::directory_handle::directory_handle(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824',1,'llfio_v2_xxx::directory_handle::directory_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
- ['directory_5fhandle_2ehpp',['directory_handle.hpp',['../directory__handle_8hpp.html',1,'']]],
- ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amap_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',1,'in_place_attach_detach::traits']]],
- ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amapped_5ffile_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',1,'in_place_attach_detach::traits']]],
- ['disable_5fkqueues',['disable_kqueues',['../classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d',1,'llfio_v2_xxx::io_service']]],
- ['discovered_5fpath',['discovered_path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',1,'llfio_v2_xxx::path_discovery']]],
- ['do_5fnot_5fstore',['do_not_store',['../classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d',1,'llfio_v2_xxx::map_handle']]],
- ['done',['done',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
- ['drop_5ffilesystem_5fcache',['drop_filesystem_cache',['../namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a',1,'llfio_v2_xxx::utils']]]
+ ['d_140',['d',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]],
+ ['data_141',['data',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3',1,'llfio_v2_xxx::io_multiplexer::buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c',1,'llfio_v2_xxx::io_multiplexer::buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() const noexcept']]],
+ ['deadline_142',['deadline',['../structllfio__v2__xxx_1_1deadline.html',1,'llfio_v2_xxx']]],
+ ['deadline_2eh_143',['deadline.h',['../deadline_8h.html',1,'']]],
+ ['decommit_144',['decommit',['../classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75',1,'llfio_v2_xxx::map_handle']]],
+ ['default_5fc_5fstr_5fdeleter_145',['default_c_str_deleter',['../classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82',1,'llfio_v2_xxx::path_view_component']]],
+ ['default_5finternal_5fbuffer_5fsize_146',['default_internal_buffer_size',['../classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91',1,'llfio_v2_xxx::path_view_component']]],
+ ['default_5fmetadata_147',['default_metadata',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['default_5fvalue_148',['default_value',['../namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c',1,'llfio_v2_xxx::storage_profile']]],
+ ['dependencies_149',['dependencies',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8',1,'kvstore_v1_xxx::basic_key_value_store::transaction']]],
+ ['description_150',['description',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0',1,'llfio_v2_xxx::storage_profile::item_base']]],
+ ['device_151',['device',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7',1,'llfio_v2_xxx']]],
+ ['devs_152',['devs',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['difference_5fitem_153',['difference_item',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html',1,'llfio_v2_xxx::algorithm']]],
+ ['difference_5ftype_154',['difference_type',['../classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11',1,'llfio_v2_xxx::mapped::difference_type()'],['../classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025',1,'llfio_v2_xxx::path_view::difference_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa8d8f5c1656378091389ac0a7abc6c68',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::difference_type()']]],
+ ['directory_155',['directory',['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
+ ['directory_5fadded_156',['directory_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['directory_5fblocks_157',['directory_blocks',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['directory_5fentry_158',['directory_entry',['../structllfio__v2__xxx_1_1directory__entry.html',1,'llfio_v2_xxx']]],
+ ['directory_5fhandle_159',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html',1,'llfio_v2_xxx::directory_handle'],['../classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e',1,'llfio_v2_xxx::directory_handle::directory_handle()'],['../classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552',1,'llfio_v2_xxx::directory_handle::directory_handle(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8',1,'llfio_v2_xxx::directory_handle::directory_handle(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824',1,'llfio_v2_xxx::directory_handle::directory_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
+ ['directory_5fhandle_2ehpp_160',['directory_handle.hpp',['../directory__handle_8hpp.html',1,'']]],
+ ['directory_5fopen_5ffailed_161',['directory_open_failed',['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d',1,'llfio_v2_xxx::algorithm::compare_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698',1,'llfio_v2_xxx::algorithm::reduce_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13',1,'llfio_v2_xxx::algorithm::summarize_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2',1,'llfio_v2_xxx::algorithm::traverse_visitor::directory_open_failed()']]],
+ ['directory_5fopens_5ffailed_162',['directory_opens_failed',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['directory_5fremoved_163',['directory_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['directory_5frenamed_164',['directory_renamed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amap_5fhandle_20_3e_165',['disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',1,'in_place_attach_detach::traits']]],
+ ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amapped_5ffile_5fhandle_20_3e_166',['disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',1,'in_place_attach_detach::traits']]],
+ ['discovered_5fpath_167',['discovered_path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',1,'llfio_v2_xxx::path_discovery']]],
+ ['do_5fio_5fhandle_5fallocate_5fregistered_5fbuffer_168',['do_io_handle_allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fderegister_169',['do_io_handle_deregister',['../classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fmax_5fbuffers_170',['do_io_handle_max_buffers',['../classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fregister_171',['do_io_handle_register',['../classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fnot_5fstore_172',['do_not_store',['../classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d',1,'llfio_v2_xxx::map_handle']]],
+ ['done_173',['done',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
+ ['dos_174',['dos',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae',1,'llfio_v2_xxx']]],
+ ['drop_5ffilesystem_5fcache_175',['drop_filesystem_cache',['../namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a',1,'llfio_v2_xxx::utils']]],
+ ['dynamic_5fthread_5fpool_5fgroup_176',['dynamic_thread_pool_group',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html',1,'llfio_v2_xxx']]],
+ ['dynamic_5fthread_5fpool_5fgroup_5fptr_177',['dynamic_thread_pool_group_ptr',['../namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_5.html b/search/all_5.html
index 89a879ea..2544c4e5 100644
--- a/search/all_5.html
+++ b/search/all_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_5.js b/search/all_5.js
index 8a993b7c..e66917b1 100644
--- a/search/all_5.js
+++ b/search/all_5.js
@@ -1,24 +1,29 @@
var searchData=
[
- ['element_5ftype',['element_type',['../classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda',1,'llfio_v2_xxx::mapped']]],
- ['emplace',['emplace',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['emplace_5fback',['emplace_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['empty',['empty',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a',1,'kvstore_v1_xxx::basic_key_value_store::empty()'],['../classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2',1,'llfio_v2_xxx::path_view_component::empty()'],['../classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501',1,'llfio_v2_xxx::path_view::empty()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08',1,'llfio_v2_xxx::storage_profile::storage_profile::empty()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::empty()']]],
- ['end',['end',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8',1,'llfio_v2_xxx::io_handle::buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2',1,'llfio_v2_xxx::io_handle::buffer_type::end() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77',1,'llfio_v2_xxx::io_handle::const_buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5',1,'llfio_v2_xxx::io_handle::const_buffer_type::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453',1,'llfio_v2_xxx::path_view::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e',1,'llfio_v2_xxx::path_view::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97',1,'llfio_v2_xxx::storage_profile::storage_profile::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4',1,'llfio_v2_xxx::storage_profile::storage_profile::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() const noexcept']]],
- ['entities_5fguard',['entities_guard',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entities_5ftype',['entities_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2d76403bdfa829d3144931db2ed6948c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#aec91125605e5a8379b7616b7f90d1232',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae93a3105a8dad7e76c9985a468b435c7',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae2b0ba067395f1d7588e301f07110b8a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3a38be63dffa241d502f2a28ceb048ea',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entities_type()']]],
- ['entity_5ffrom_5fbuffer',['entity_from_buffer',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a4cdf15b69bf6f375ec7083d639f76358',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entity_5ffrom_5fstring',['entity_from_string',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#afb28aedaf5caa53e851165a4f1927207',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entity_5ftype',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a31ffa04a6276ce1a59ccb1c6d21ae069',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a07654cbb20d589f13107e8b6d7d286c9',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entity_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type(value_type _value, bool _exclusive) noexcept']]],
- ['enumerate_5fkvstores',['enumerate_kvstores',['../namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447',1,'kvstore_v1_xxx']]],
- ['environment',['environment',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['erase',['erase',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator pos)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator first, const_iterator last)']]],
- ['error',['error',['../classllfio__v2__xxx_1_1error.html',1,'llfio_v2_xxx::error'],['../classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3',1,'llfio_v2_xxx::error::error()']]],
- ['error_5finfo',['error_info',['../structllfio__v2__xxx_1_1error__info.html',1,'llfio_v2_xxx']]],
- ['exclusive',['exclusive',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::exclusive()'],['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7',1,'llfio_v2_xxx::file_handle::exclusive()']]],
- ['extension',['extension',['../classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58',1,'llfio_v2_xxx::path_view_component::extension()'],['../classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1',1,'llfio_v2_xxx::path_view::extension()']]],
- ['extent',['extent',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab',1,'llfio_v2_xxx::file_handle::extent_guard']]],
- ['extent_5fguard',['extent_guard',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html',1,'llfio_v2_xxx::file_handle::extent_guard'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d',1,'llfio_v2_xxx::file_handle::extent_guard::extent_guard()'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4',1,'llfio_v2_xxx::file_handle::extent_guard::extent_guard(extent_guard &amp;&amp;o) noexcept']]],
- ['extent_5ftype',['extent_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307',1,'kvstore_v1_xxx::basic_key_value_store_info::extent_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751',1,'kvstore_v1_xxx::basic_key_value_store::extent_type()'],['../classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f',1,'llfio_v2_xxx::handle::extent_type()'],['../classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a',1,'llfio_v2_xxx::io_service::extent_type()'],['../classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83',1,'llfio_v2_xxx::mapped::extent_type()']]],
- ['extents',['extents',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2',1,'llfio_v2_xxx::statfs_t::f_flags_t::extents()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0',1,'llfio_v2_xxx::fast_random_file_handle::extents()'],['../classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2',1,'llfio_v2_xxx::file_handle::extents()'],['../namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15',1,'llfio_v2_xxx::extents()']]]
+ ['element_5ftype_178',['element_type',['../classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda',1,'llfio_v2_xxx::mapped']]],
+ ['emplace_179',['emplace',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['emplace_5fback_180',['emplace_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['empty_181',['empty',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::empty()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a',1,'kvstore_v1_xxx::basic_key_value_store::empty()'],['../classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1',1,'llfio_v2_xxx::path_view_component::empty()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08',1,'llfio_v2_xxx::storage_profile::storage_profile::empty()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::empty()']]],
+ ['end_182',['end',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3',1,'llfio_v2_xxx::io_multiplexer::buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6',1,'llfio_v2_xxx::io_multiplexer::buffer_type::end() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207',1,'llfio_v2_xxx::path_view::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae',1,'llfio_v2_xxx::path_view::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97',1,'llfio_v2_xxx::storage_profile::storage_profile::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4',1,'llfio_v2_xxx::storage_profile::storage_profile::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() const noexcept']]],
+ ['entities_5fguard_183',['entities_guard',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entities_5ftype_184',['entities_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2d76403bdfa829d3144931db2ed6948c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#aec91125605e5a8379b7616b7f90d1232',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae93a3105a8dad7e76c9985a468b435c7',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae2b0ba067395f1d7588e301f07110b8a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3a38be63dffa241d502f2a28ceb048ea',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entities_type()']]],
+ ['entity_5ffrom_5fbuffer_185',['entity_from_buffer',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a4cdf15b69bf6f375ec7083d639f76358',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entity_5ffrom_5fstring_186',['entity_from_string',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#afb28aedaf5caa53e851165a4f1927207',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entity_5ftype_187',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a31ffa04a6276ce1a59ccb1c6d21ae069',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a07654cbb20d589f13107e8b6d7d286c9',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entity_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type(value_type _value, bool _exclusive) noexcept']]],
+ ['enumerate_5fkvstores_188',['enumerate_kvstores',['../namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447',1,'kvstore_v1_xxx']]],
+ ['environment_189',['environment',['../classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4',1,'llfio_v2_xxx::process_handle::environment()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path::environment()']]],
+ ['erase_190',['erase',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator pos)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator first, const_iterator last)']]],
+ ['error_191',['error',['../classllfio__v2__xxx_1_1error.html',1,'llfio_v2_xxx::error'],['../classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3',1,'llfio_v2_xxx::error::error()']]],
+ ['error_5finfo_192',['error_info',['../structllfio__v2__xxx_1_1error__info.html',1,'llfio_v2_xxx::error_info'],['../structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4',1,'llfio_v2_xxx::error_info::error_info()']]],
+ ['error_5fpipe_193',['error_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa',1,'llfio_v2_xxx::process_handle::error_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd',1,'llfio_v2_xxx::process_handle::error_pipe() const noexcept']]],
+ ['error_5ftype_194',['error_type',['../classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3',1,'llfio_v2_xxx::read_receiver::error_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8',1,'llfio_v2_xxx::write_receiver::error_type()']]],
+ ['exclusive_195',['exclusive',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::exclusive()'],['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7',1,'llfio_v2_xxx::exclusive()']]],
+ ['executor_196',['executor',['../classllfio__v2__xxx_1_1executor.html',1,'llfio_v2_xxx']]],
+ ['exists_197',['exists',['../classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32',1,'llfio_v2_xxx::path_handle::exists(path_view_type path) const noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623',1,'llfio_v2_xxx::path_handle::exists(const path_handle &amp;base, path_view_type path) noexcept']]],
+ ['extension_198',['extension',['../classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58',1,'llfio_v2_xxx::path_view_component']]],
+ ['extent_199',['extent',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e',1,'llfio_v2_xxx::lockable_io_handle::extent_guard']]],
+ ['extent_5fguard_200',['extent_guard',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html',1,'llfio_v2_xxx::lockable_io_handle::extent_guard'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::extent_guard()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::extent_guard(extent_guard &amp;&amp;o) noexcept']]],
+ ['extent_5fpair_201',['extent_pair',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html',1,'llfio_v2_xxx::file_handle']]],
+ ['extent_5ftype_202',['extent_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307',1,'kvstore_v1_xxx::basic_key_value_store_info::extent_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751',1,'kvstore_v1_xxx::basic_key_value_store::extent_type()'],['../classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f',1,'llfio_v2_xxx::handle::extent_type()'],['../classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83',1,'llfio_v2_xxx::mapped::extent_type()']]],
+ ['extents_203',['extents',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2',1,'llfio_v2_xxx::statfs_t::f_flags_t::extents()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96',1,'llfio_v2_xxx::fast_random_file_handle::extents()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a',1,'llfio_v2_xxx::file_handle::extents()'],['../namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef',1,'llfio_v2_xxx::extents()']]]
];
diff --git a/search/all_6.html b/search/all_6.html
index 6afac066..43f14eab 100644
--- a/search/all_6.html
+++ b/search/all_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_6.js b/search/all_6.js
index d78e195d..e762a655 100644
--- a/search/all_6.js
+++ b/search/all_6.js
@@ -1,45 +1,55 @@
var searchData=
[
- ['f_5fbavail',['f_bavail',['../structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fbfree',['f_bfree',['../structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fblocks',['f_blocks',['../structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fbsize',['f_bsize',['../structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fffree',['f_ffree',['../structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffiles',['f_files',['../structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fflags',['f_flags',['../structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fflags_5ft',['f_flags_t',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffsid',['f_fsid',['../structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffstypename',['f_fstypename',['../structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fiosize',['f_iosize',['../structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fmntfromname',['f_mntfromname',['../structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fmntonname',['f_mntonname',['../structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fnamemax',['f_namemax',['../structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fowner',['f_owner',['../structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7',1,'llfio_v2_xxx::statfs_t']]],
- ['fast_5frandom_5ffile',['fast_random_file',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1',1,'llfio_v2_xxx::fast_random_file_handle']]],
- ['fast_5frandom_5ffile_5fhandle',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html',1,'llfio_v2_xxx::fast_random_file_handle'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle()=default'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(extent_type length, span&lt; const byte &gt; seed)'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(const fast_random_file_handle &amp;)=delete']]],
- ['fast_5frandom_5ffile_5fhandle_2ehpp',['fast_random_file_handle.hpp',['../fast__random__file__handle_8hpp.html',1,'']]],
- ['fastdeleted',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]],
- ['fd',['fd',['../structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af',1,'llfio_v2_xxx::native_handle_type']]],
- ['features',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['file',['file',['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
- ['file_5fbuffer_5fdefault_5fsize',['file_buffer_default_size',['../namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778',1,'llfio_v2_xxx::utils']]],
- ['file_5fhandle',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html',1,'llfio_v2_xxx::file_handle'],['../classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2',1,'llfio_v2_xxx::file_handle::file_handle()'],['../classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42',1,'llfio_v2_xxx::file_handle::file_handle(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7',1,'llfio_v2_xxx::file_handle::file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
- ['file_5fhandle_2ehpp',['file_handle.hpp',['../file__handle_8hpp.html',1,'']]],
- ['filecompression',['filecompression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['filename',['filename',['../classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a',1,'llfio_v2_xxx::path_view']]],
- ['fill',['fill',['../structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4',1,'llfio_v2_xxx::stat_t::fill()'],['../structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb',1,'llfio_v2_xxx::statfs_t::fill()']]],
- ['fill_5frandom_5fentities',['fill_random_entities',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#ab33ccb32052633a55cb3bb5d1bbdf52b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['filter',['filter',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207',1,'llfio_v2_xxx::directory_handle']]],
- ['filter_5fstate_5ftype',['filter_state_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['flags',['flags',['../classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c',1,'llfio_v2_xxx::handle']]],
- ['flush_5fmodified_5fdata',['flush_modified_data',['../namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8',1,'llfio_v2_xxx::utils']]],
- ['front',['front',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front() const']]],
- ['frozen',['frozen',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3530afb8619a4d00448db65c19b471e1',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['fs_5fhandle',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html',1,'llfio_v2_xxx::fs_handle'],['../classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97',1,'llfio_v2_xxx::fs_handle::fs_handle()'],['../classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d',1,'llfio_v2_xxx::fs_handle::fs_handle(dev_t devid, ino_t inode)'],['../classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f',1,'llfio_v2_xxx::fs_handle::fs_handle(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073',1,'llfio_v2_xxx::fs_handle::fs_handle(const fs_handle &amp;)=delete']]],
- ['fs_5fhandle_2ehpp',['fs_handle.hpp',['../fs__handle_8hpp.html',1,'']]],
- ['fs_5fmutex_5fappend',['fs_mutex_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
- ['fs_5fmutex_5fbyte_5franges',['fs_mutex_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9d4bddc98b5f19171a7230811250cad0',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges']]],
- ['fs_5fmutex_5flock_5ffiles',['fs_mutex_lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a1c81828f9f391f848a57cf8046395ef3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files']]],
- ['fs_5fmutex_5fmap',['fs_mutex_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a23750199fded35429d27ec4824b65c18',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['fs_5fmutex_5fsafe_5fbyte_5franges',['fs_mutex_safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#ada8dfb7f986806edf5e22c6364ad0d5a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges']]]
+ ['f_5fbavail_204',['f_bavail',['../structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fbfree_205',['f_bfree',['../structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fblocks_206',['f_blocks',['../structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fbsize_207',['f_bsize',['../structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fffree_208',['f_ffree',['../structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffiles_209',['f_files',['../structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fflags_210',['f_flags',['../structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fflags_5ft_211',['f_flags_t',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffsid_212',['f_fsid',['../structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffstypename_213',['f_fstypename',['../structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosbusytime_214',['f_iosbusytime',['../structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosinprogress_215',['f_iosinprogress',['../structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosize_216',['f_iosize',['../structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fmntfromname_217',['f_mntfromname',['../structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fmntonname_218',['f_mntonname',['../structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fnamemax_219',['f_namemax',['../structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fowner_220',['f_owner',['../structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7',1,'llfio_v2_xxx::statfs_t']]],
+ ['fast_5frandom_5ffile_221',['fast_random_file',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1',1,'llfio_v2_xxx::fast_random_file_handle']]],
+ ['fast_5frandom_5ffile_5fhandle_222',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html',1,'llfio_v2_xxx::fast_random_file_handle'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle()=default'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(extent_type length, span&lt; const byte &gt; seed)'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(const fast_random_file_handle &amp;)=delete']]],
+ ['fast_5frandom_5ffile_5fhandle_2ehpp_223',['fast_random_file_handle.hpp',['../fast__random__file__handle_8hpp.html',1,'']]],
+ ['fastdeleted_224',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]],
+ ['features_225',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['file_226',['file',['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
+ ['file_5fadded_227',['file_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5fblocks_228',['file_blocks',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['file_5fbuffer_5fdefault_5fsize_229',['file_buffer_default_size',['../namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6',1,'llfio_v2_xxx::utils']]],
+ ['file_5fhandle_230',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html',1,'llfio_v2_xxx::file_handle'],['../classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2',1,'llfio_v2_xxx::file_handle::file_handle()'],['../classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42',1,'llfio_v2_xxx::file_handle::file_handle(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7',1,'llfio_v2_xxx::file_handle::file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42',1,'llfio_v2_xxx::file_handle::file_handle(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd',1,'llfio_v2_xxx::file_handle::file_handle(io_handle &amp;&amp;o) noexcept']]],
+ ['file_5fhandle_2ehpp_231',['file_handle.hpp',['../file__handle_8hpp.html',1,'']]],
+ ['file_5flinked_232',['file_linked',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5fremoved_233',['file_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5frenamed_234',['file_renamed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['filecompression_235',['filecompression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['filename_236',['filename',['../classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a',1,'llfio_v2_xxx::path_view']]],
+ ['fill_237',['fill',['../structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4',1,'llfio_v2_xxx::stat_t::fill()'],['../structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb',1,'llfio_v2_xxx::statfs_t::fill()']]],
+ ['fill_5frandom_5fentities_238',['fill_random_entities',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#ab33ccb32052633a55cb3bb5d1bbdf52b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['filter_239',['filter',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207',1,'llfio_v2_xxx::directory_handle']]],
+ ['filter_5fstate_5ftype_240',['filter_state_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['finished_241',['finished',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749',1,'llfio_v2_xxx::algorithm::contents_visitor::finished()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b',1,'llfio_v2_xxx::algorithm::traverse_visitor::finished()']]],
+ ['flags_242',['flags',['../classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c',1,'llfio_v2_xxx::handle']]],
+ ['flush_5finited_5fio_5foperations_243',['flush_inited_io_operations',['../classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['flush_5fmodified_5fdata_244',['flush_modified_data',['../namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8',1,'llfio_v2_xxx::utils']]],
+ ['format_245',['format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d',1,'llfio_v2_xxx::path_view_component']]],
+ ['formatting_246',['formatting',['../classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948',1,'llfio_v2_xxx::path_view_component']]],
+ ['front_247',['front',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front() const']]],
+ ['frozen_248',['frozen',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3530afb8619a4d00448db65c19b471e1',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['fs_5fhandle_249',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html',1,'llfio_v2_xxx::fs_handle'],['../classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97',1,'llfio_v2_xxx::fs_handle::fs_handle()'],['../classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d',1,'llfio_v2_xxx::fs_handle::fs_handle(dev_t devid, ino_t inode)'],['../classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f',1,'llfio_v2_xxx::fs_handle::fs_handle(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073',1,'llfio_v2_xxx::fs_handle::fs_handle(const fs_handle &amp;)=delete']]],
+ ['fs_5fhandle_2ehpp_250',['fs_handle.hpp',['../fs__handle_8hpp.html',1,'']]],
+ ['fs_5fmutex_5fappend_251',['fs_mutex_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
+ ['fs_5fmutex_5fbyte_5franges_252',['fs_mutex_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9d4bddc98b5f19171a7230811250cad0',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges']]],
+ ['fs_5fmutex_5flock_5ffiles_253',['fs_mutex_lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a1c81828f9f391f848a57cf8046395ef3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files']]],
+ ['fs_5fmutex_5fmap_254',['fs_mutex_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a23750199fded35429d27ec4824b65c18',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['fs_5fmutex_5fsafe_5fbyte_5franges_255',['fs_mutex_safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#ada8dfb7f986806edf5e22c6364ad0d5a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges']]]
];
diff --git a/search/all_7.html b/search/all_7.html
index de191077..af52f82a 100644
--- a/search/all_7.html
+++ b/search/all_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_7.js b/search/all_7.js
index 5a23a031..b1dac51e 100644
--- a/search/all_7.js
+++ b/search/all_7.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['generic_5ferror',['generic_error',['../namespacellfio__v2__xxx.html#ad0b071d59b67ebfa3f6a31197cfd61db',1,'llfio_v2_xxx']]]
+ ['generic_5ferror_256',['generic_error',['../namespacellfio__v2__xxx.html#ad0b071d59b67ebfa3f6a31197cfd61db',1,'llfio_v2_xxx']]],
+ ['generic_5fformat_257',['generic_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455',1,'llfio_v2_xxx::path_view_component']]],
+ ['get_5fcompleted_5fread_258',['get_completed_read',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::get_completed_read()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::get_completed_read()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::get_completed_read()']]],
+ ['get_5fcompleted_5fwrite_5for_5fbarrier_259',['get_completed_write_or_barrier',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::get_completed_write_or_barrier()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::get_completed_write_or_barrier()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::get_completed_write_or_barrier()']]],
+ ['group_5fcomplete_260',['group_complete',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]],
+ ['guid_5fvolume_261',['guid_volume',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_8.html b/search/all_8.html
index 11e27cdb..cf2b5df9 100644
--- a/search/all_8.html
+++ b/search/all_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_8.js b/search/all_8.js
index 09f7f44c..d7c13671 100644
--- a/search/all_8.js
+++ b/search/all_8.js
@@ -1,9 +1,19 @@
var searchData=
[
- ['h',['h',['../structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481',1,'llfio_v2_xxx::native_handle_type']]],
- ['handle',['handle',['../classllfio__v2__xxx_1_1handle.html',1,'llfio_v2_xxx::handle'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3',1,'llfio_v2_xxx::file_handle::extent_guard::handle()'],['../classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4',1,'llfio_v2_xxx::handle::handle()'],['../classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4',1,'llfio_v2_xxx::handle::handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11',1,'llfio_v2_xxx::handle::handle(const handle &amp;)=delete'],['../classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0',1,'llfio_v2_xxx::handle::handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::handle()']]],
- ['handle_2ehpp',['handle.hpp',['../handle_8hpp.html',1,'']]],
- ['handle_5ftype',['handle_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85',1,'kvstore_v1_xxx::basic_key_value_store_info::handle_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1',1,'kvstore_v1_xxx::basic_key_value_store::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0',1,'llfio_v2_xxx::storage_profile::item_base::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d',1,'llfio_v2_xxx::storage_profile::storage_profile::handle_type()']]],
- ['hardcoded',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['hasher_5ftype',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
+ ['h_262',['h',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness::h()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::h()']]],
+ ['handle_263',['handle',['../classllfio__v2__xxx_1_1handle.html',1,'llfio_v2_xxx::handle'],['../classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4',1,'llfio_v2_xxx::handle::handle()'],['../classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4',1,'llfio_v2_xxx::handle::handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11',1,'llfio_v2_xxx::handle::handle(const handle &amp;)=delete'],['../classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0',1,'llfio_v2_xxx::handle::handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::handle()']]],
+ ['handle_2ehpp_264',['handle.hpp',['../handle_8hpp.html',1,'']]],
+ ['handle_5ftype_265',['handle_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85',1,'kvstore_v1_xxx::basic_key_value_store_info::handle_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1',1,'kvstore_v1_xxx::basic_key_value_store::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0',1,'llfio_v2_xxx::storage_profile::item_base::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d',1,'llfio_v2_xxx::storage_profile::storage_profile::handle_type()']]],
+ ['handles_266',['handles',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['hardcoded_267',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['has_5fextension_268',['has_extension',['../classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4',1,'llfio_v2_xxx::path_view_component']]],
+ ['has_5ffilename_269',['has_filename',['../classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e',1,'llfio_v2_xxx::path_view']]],
+ ['has_5fparent_5fpath_270',['has_parent_path',['../classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca',1,'llfio_v2_xxx::path_view']]],
+ ['has_5frelative_5fpath_271',['has_relative_path',['../classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fdirectory_272',['has_root_directory',['../classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fname_273',['has_root_name',['../classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fpath_274',['has_root_path',['../classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257',1,'llfio_v2_xxx::path_view']]],
+ ['has_5fstem_275',['has_stem',['../classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0',1,'llfio_v2_xxx::path_view_component']]],
+ ['has_5fzero_5ftermination_276',['has_zero_termination',['../classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44',1,'llfio_v2_xxx::path_view_component']]],
+ ['hasher_5ftype_277',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
];
diff --git a/search/all_9.html b/search/all_9.html
index f8abbbe5..690785a5 100644
--- a/search/all_9.html
+++ b/search/all_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_9.js b/search/all_9.js
index 4e8ba202..214674cf 100644
--- a/search/all_9.js
+++ b/search/all_9.js
@@ -1,49 +1,72 @@
var searchData=
[
- ['if_5fneeded',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
- ['in_5fplace_5fattach',['in_place_attach',['../namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5',1,'llfio_v2_xxx::in_place_attach(map_handle &amp;mh) noexcept'],['../namespacellfio__v2__xxx.html#a933649fdb097431a1b84360b9a5ed5c4',1,'llfio_v2_xxx::in_place_attach(mapped_file_handle &amp;mfh) noexcept']]],
- ['index_5ftype',['index_type',['../classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad',1,'llfio_v2_xxx::mapped']]],
- ['insert',['insert',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, value_type &amp;&amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, std::initializer_list&lt; value_type &gt; il)']]],
- ['interruption_5fsignal',['interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914',1,'llfio_v2_xxx::io_service']]],
- ['invalid_5furi',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]],
- ['invoke',['invoke',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd',1,'llfio_v2_xxx::storage_profile::item_erased']]],
- ['io_5fhandle',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html',1,'llfio_v2_xxx::io_handle'],['../classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762',1,'llfio_v2_xxx::io_handle::io_handle()'],['../classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3',1,'llfio_v2_xxx::io_handle::io_handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b',1,'llfio_v2_xxx::io_handle::io_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7',1,'llfio_v2_xxx::io_handle::io_handle(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737',1,'llfio_v2_xxx::io_handle::io_handle(const io_handle &amp;)=delete']]],
- ['io_5fhandle_2ehpp',['io_handle.hpp',['../io__handle_8hpp.html',1,'']]],
- ['io_5frequest',['io_request',['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',1,'llfio_v2_xxx::directory_handle::io_request&lt; class &gt;'],['../structllfio__v2__xxx_1_1io__handle_1_1io__request.html',1,'llfio_v2_xxx::io_handle::io_request&lt; T &gt;'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html',1,'llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761',1,'kvstore_v1_xxx::basic_key_value_store::io_request()'],['../classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e',1,'llfio_v2_xxx::io_service::io_request()'],['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61',1,'llfio_v2_xxx::directory_handle::io_request::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::io_request()']]],
- ['io_5frequest_3c_20buffers_5ftype_2c_20_5f_5f_5f_5f_20_3e',['io_request&lt; buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
- ['io_5frequest_3c_20const_5fbuffers_5ftype_2c_20_5f_5f_5f_5f_20_3e',['io_request&lt; const_buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
- ['io_5fresult',['io_result',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle::io_result&lt; T &gt;'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d',1,'kvstore_v1_xxx::basic_key_value_store::io_result()'],['../classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e',1,'llfio_v2_xxx::io_service::io_result()']]],
- ['io_5fresult_3c_20buffers_5ftype_20_3e',['io_result&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle']]],
- ['io_5fresult_3c_20const_5fbuffers_5ftype_20_3e',['io_result&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle']]],
- ['io_5fservice',['io_service',['../classllfio__v2__xxx_1_1io__service.html',1,'llfio_v2_xxx::io_service'],['../classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835',1,'llfio_v2_xxx::io_service::io_service()']]],
- ['io_5fservice_2ehpp',['io_service.hpp',['../io__service_8hpp.html',1,'']]],
- ['io_5fstate_5fptr',['io_state_ptr',['../classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67',1,'llfio_v2_xxx::async_file_handle']]],
- ['is_5fappend_5fonly',['is_append_only',['../classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb',1,'llfio_v2_xxx::handle::is_append_only()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d',1,'llfio_v2_xxx::native_handle_type::is_append_only()']]],
- ['is_5fattachable',['is_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5fdetachable',['is_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5fdirectory',['is_directory',['../classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce',1,'llfio_v2_xxx::handle::is_directory()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd',1,'llfio_v2_xxx::native_handle_type::is_directory()']]],
- ['is_5fmultiplexer',['is_multiplexer',['../classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a',1,'llfio_v2_xxx::handle::is_multiplexer()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c',1,'llfio_v2_xxx::native_handle_type::is_multiplexer()']]],
- ['is_5fnvram',['is_nvram',['../classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82',1,'llfio_v2_xxx::section_handle::is_nvram()'],['../classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887',1,'llfio_v2_xxx::map_handle::is_nvram()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7',1,'llfio_v2_xxx::mapped_file_handle::is_nvram()']]],
- ['is_5foverlapped',['is_overlapped',['../classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e',1,'llfio_v2_xxx::handle::is_overlapped()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5',1,'llfio_v2_xxx::native_handle_type::is_overlapped()']]],
- ['is_5fprocess',['is_process',['../classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb',1,'llfio_v2_xxx::handle::is_process()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45',1,'llfio_v2_xxx::native_handle_type::is_process()']]],
- ['is_5freadable',['is_readable',['../classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254',1,'llfio_v2_xxx::handle::is_readable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672',1,'llfio_v2_xxx::native_handle_type::is_readable()']]],
- ['is_5fregular',['is_regular',['../classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed',1,'llfio_v2_xxx::handle::is_regular()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd',1,'llfio_v2_xxx::native_handle_type::is_regular()']]],
- ['is_5fsection',['is_section',['../classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19',1,'llfio_v2_xxx::handle::is_section()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8',1,'llfio_v2_xxx::native_handle_type::is_section()']]],
- ['is_5fseekable',['is_seekable',['../classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632',1,'llfio_v2_xxx::handle::is_seekable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca',1,'llfio_v2_xxx::native_handle_type::is_seekable()']]],
- ['is_5fsource_5facceptable',['is_source_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd',1,'llfio_v2_xxx::path_view_component::is_source_acceptable()'],['../classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724',1,'llfio_v2_xxx::path_view::is_source_acceptable()']]],
- ['is_5fsource_5fchartype_5facceptable',['is_source_chartype_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165',1,'llfio_v2_xxx::path_view_component::is_source_chartype_acceptable()'],['../classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a',1,'llfio_v2_xxx::path_view::is_source_chartype_acceptable()']]],
- ['is_5fsymlink',['is_symlink',['../classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0',1,'llfio_v2_xxx::handle::is_symlink()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32',1,'llfio_v2_xxx::native_handle_type::is_symlink()']]],
- ['is_5ftrivially_5fattachable',['is_trivially_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5ftrivially_5fdetachable',['is_trivially_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5fvalid',['is_valid',['../classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2',1,'llfio_v2_xxx::handle::is_valid()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444',1,'llfio_v2_xxx::native_handle_type::is_valid()']]],
- ['is_5fwritable',['is_writable',['../classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852',1,'llfio_v2_xxx::handle::is_writable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078',1,'llfio_v2_xxx::native_handle_type::is_writable()']]],
- ['item',['item',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20float_20_3e',['item&lt; float &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20io_5fservice_3a_3aextent_5ftype_20_3e',['item&lt; io_service::extent_type &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20std_3a_3astring_20_3e',['item&lt; std::string &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20unsigned_20_3e',['item&lt; unsigned &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20unsigned_20long_20long_20_3e',['item&lt; unsigned long long &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_5fbase',['item_base',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_5ferased',['item_erased',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',1,'llfio_v2_xxx::storage_profile']]],
- ['iterator',['iterator',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5',1,'llfio_v2_xxx::io_handle::buffer_type::iterator()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce',1,'llfio_v2_xxx::io_handle::const_buffer_type::iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4',1,'llfio_v2_xxx::mapped::iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a',1,'llfio_v2_xxx::path_view::iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923',1,'llfio_v2_xxx::storage_profile::storage_profile::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1',1,'llfio_v2_xxx::symlink_handle::buffers_type::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::iterator()']]]
+ ['if_5fneeded_278',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
+ ['implementation_5fdescription_279',['implementation_description',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['in_5fpipe_280',['in_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7',1,'llfio_v2_xxx::process_handle::in_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137',1,'llfio_v2_xxx::process_handle::in_pipe() const noexcept']]],
+ ['in_5fplace_5fattach_281',['in_place_attach',['../namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5',1,'llfio_v2_xxx::in_place_attach(map_handle &amp;mh) noexcept'],['../namespacellfio__v2__xxx.html#a933649fdb097431a1b84360b9a5ed5c4',1,'llfio_v2_xxx::in_place_attach(mapped_file_handle &amp;mfh) noexcept']]],
+ ['init_5fio_5foperation_282',['init_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['initiated_5fios_5fcompleted_283',['initiated_ios_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4',1,'llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics']]],
+ ['initiated_5fios_5ffinished_284',['initiated_ios_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3',1,'llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics']]],
+ ['insert_285',['insert',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, value_type &amp;&amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, std::initializer_list&lt; value_type &gt; il)']]],
+ ['invalid_5furi_286',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]],
+ ['invoke_287',['invoke',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd',1,'llfio_v2_xxx::storage_profile::item_erased::invoke()']]],
+ ['io_5faware_5fnext_288',['io_aware_next',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['io_5faware_5fwork_5fitem_289',['io_aware_work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item'],['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_aware_work_item()']]],
+ ['io_5fhandle_290',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html',1,'llfio_v2_xxx::io_handle'],['../classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762',1,'llfio_v2_xxx::io_handle::io_handle()'],['../classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367',1,'llfio_v2_xxx::io_handle::io_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785',1,'llfio_v2_xxx::io_handle::io_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7',1,'llfio_v2_xxx::io_handle::io_handle(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737',1,'llfio_v2_xxx::io_handle::io_handle(const io_handle &amp;)=delete']]],
+ ['io_5fhandle_2ehpp_291',['io_handle.hpp',['../io__handle_8hpp.html',1,'']]],
+ ['io_5fhandle_5fawareness_292',['io_handle_awareness',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['io_5fhandle_5ftype_293',['io_handle_type',['../classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c',1,'llfio_v2_xxx::read_receiver::io_handle_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c',1,'llfio_v2_xxx::write_receiver::io_handle_type()']]],
+ ['io_5fmultiplexer_294',['io_multiplexer',['../classllfio__v2__xxx_1_1io__multiplexer.html',1,'llfio_v2_xxx']]],
+ ['io_5fmultiplexer_5fptr_295',['io_multiplexer_ptr',['../namespacellfio__v2__xxx.html#aeb9722b94a1f745b62717cb02e843f50',1,'llfio_v2_xxx']]],
+ ['io_5foperation_5fstate_296',['io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5foperation_5fstate_5ftype_297',['io_operation_state_type',['../namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745',1,'llfio_v2_xxx']]],
+ ['io_5foperation_5fstate_5fvisitor_298',['io_operation_state_visitor',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_299',['io_request',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html',1,'llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;'],['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',1,'llfio_v2_xxx::directory_handle::io_request&lt; class &gt;'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761',1,'kvstore_v1_xxx::basic_key_value_store::io_request()'],['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61',1,'llfio_v2_xxx::directory_handle::io_request::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::io_request()']]],
+ ['io_5frequest_3c_20buffers_5ftype_20_3e_300',['io_request&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_3c_20buffers_5ftype_2c_20_5f_5f_5f_5f_20_3e_301',['io_request&lt; buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
+ ['io_5frequest_3c_20const_5fbuffers_5ftype_20_3e_302',['io_request&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_3c_20const_5fbuffers_5ftype_2c_20_5f_5f_5f_5f_20_3e_303',['io_request&lt; const_buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
+ ['io_5fresult_304',['io_result',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d',1,'kvstore_v1_xxx::basic_key_value_store::io_result()']]],
+ ['io_5fresult_3c_20buffers_5ftype_20_3e_305',['io_result&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5fresult_3c_20const_5fbuffers_5ftype_20_3e_306',['io_result&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5fstate_5frequirements_307',['io_state_requirements',['../classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['is_5fabsolute_308',['is_absolute',['../classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86',1,'llfio_v2_xxx::path_view']]],
+ ['is_5fallocation_309',['is_allocation',['../classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036',1,'llfio_v2_xxx::handle::is_allocation()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763',1,'llfio_v2_xxx::native_handle_type::is_allocation()']]],
+ ['is_5fappend_5fonly_310',['is_append_only',['../classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb',1,'llfio_v2_xxx::handle::is_append_only()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d',1,'llfio_v2_xxx::native_handle_type::is_append_only()']]],
+ ['is_5fattachable_311',['is_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5fcompleted_312',['is_completed',['../namespacellfio__v2__xxx.html#a7d6ac826fcd88e00c7ac63556cef6c70',1,'llfio_v2_xxx']]],
+ ['is_5fdetachable_313',['is_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5fdirectory_314',['is_directory',['../classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce',1,'llfio_v2_xxx::handle::is_directory()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd',1,'llfio_v2_xxx::native_handle_type::is_directory()']]],
+ ['is_5ffinished_315',['is_finished',['../namespacellfio__v2__xxx.html#a7f32245d09ba18756513c19b053fd057',1,'llfio_v2_xxx']]],
+ ['is_5finitialised_316',['is_initialised',['../namespacellfio__v2__xxx.html#a6ec2a3fb2ff559325b89eb7003503d51',1,'llfio_v2_xxx']]],
+ ['is_5finitiated_317',['is_initiated',['../namespacellfio__v2__xxx.html#a23a7dfe3b18d247bb4202a638bea1f26',1,'llfio_v2_xxx']]],
+ ['is_5fmultiplexable_318',['is_multiplexable',['../classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8',1,'llfio_v2_xxx::handle']]],
+ ['is_5fmultiplexer_319',['is_multiplexer',['../classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a',1,'llfio_v2_xxx::handle::is_multiplexer()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c',1,'llfio_v2_xxx::native_handle_type::is_multiplexer()']]],
+ ['is_5fnonblocking_320',['is_nonblocking',['../classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae',1,'llfio_v2_xxx::handle::is_nonblocking()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa',1,'llfio_v2_xxx::native_handle_type::is_nonblocking()']]],
+ ['is_5fnvram_321',['is_nvram',['../classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82',1,'llfio_v2_xxx::section_handle::is_nvram()'],['../classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887',1,'llfio_v2_xxx::map_handle::is_nvram()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7',1,'llfio_v2_xxx::mapped_file_handle::is_nvram()']]],
+ ['is_5fpipe_322',['is_pipe',['../classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e',1,'llfio_v2_xxx::handle::is_pipe()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e',1,'llfio_v2_xxx::native_handle_type::is_pipe()']]],
+ ['is_5fprocess_323',['is_process',['../classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb',1,'llfio_v2_xxx::handle::is_process()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45',1,'llfio_v2_xxx::native_handle_type::is_process()']]],
+ ['is_5freadable_324',['is_readable',['../classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254',1,'llfio_v2_xxx::handle::is_readable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672',1,'llfio_v2_xxx::native_handle_type::is_readable()']]],
+ ['is_5fregular_325',['is_regular',['../classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed',1,'llfio_v2_xxx::handle::is_regular()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd',1,'llfio_v2_xxx::native_handle_type::is_regular()']]],
+ ['is_5frelative_326',['is_relative',['../classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30',1,'llfio_v2_xxx::path_view']]],
+ ['is_5frunning_327',['is_running',['../classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9',1,'llfio_v2_xxx::process_handle']]],
+ ['is_5fsection_328',['is_section',['../classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19',1,'llfio_v2_xxx::handle::is_section()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8',1,'llfio_v2_xxx::native_handle_type::is_section()']]],
+ ['is_5fseekable_329',['is_seekable',['../classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632',1,'llfio_v2_xxx::handle::is_seekable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca',1,'llfio_v2_xxx::native_handle_type::is_seekable()']]],
+ ['is_5fsocket_330',['is_socket',['../classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea',1,'llfio_v2_xxx::handle::is_socket()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450',1,'llfio_v2_xxx::native_handle_type::is_socket()']]],
+ ['is_5fsource_5facceptable_331',['is_source_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd',1,'llfio_v2_xxx::path_view_component']]],
+ ['is_5fsource_5fchartype_5facceptable_332',['is_source_chartype_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165',1,'llfio_v2_xxx::path_view_component']]],
+ ['is_5fsymlink_333',['is_symlink',['../classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0',1,'llfio_v2_xxx::handle::is_symlink()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32',1,'llfio_v2_xxx::native_handle_type::is_symlink()']]],
+ ['is_5ftrivially_5fattachable_334',['is_trivially_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5ftrivially_5fdetachable_335',['is_trivially_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5fvalid_336',['is_valid',['../classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2',1,'llfio_v2_xxx::handle::is_valid()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444',1,'llfio_v2_xxx::native_handle_type::is_valid()']]],
+ ['is_5fwritable_337',['is_writable',['../classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852',1,'llfio_v2_xxx::handle::is_writable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078',1,'llfio_v2_xxx::native_handle_type::is_writable()']]],
+ ['item_338',['item',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20float_20_3e_339',['item&lt; float &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20io_5fhandle_3a_3aextent_5ftype_20_3e_340',['item&lt; io_handle::extent_type &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20std_3a_3astring_20_3e_341',['item&lt; std::string &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20unsigned_20_3e_342',['item&lt; unsigned &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20unsigned_20long_20long_20_3e_343',['item&lt; unsigned long long &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_5fbase_344',['item_base',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_5ferased_345',['item_erased',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['iterator_346',['iterator',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2',1,'llfio_v2_xxx::io_multiplexer::buffer_type::iterator()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4',1,'llfio_v2_xxx::mapped::iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a',1,'llfio_v2_xxx::path_view::iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923',1,'llfio_v2_xxx::storage_profile::storage_profile::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1',1,'llfio_v2_xxx::symlink_handle::buffers_type::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::iterator()']]]
];
diff --git a/search/all_a.html b/search/all_a.html
index 9601fcee..f2f3d3a3 100644
--- a/search/all_a.html
+++ b/search/all_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_a.js b/search/all_a.js
index 0856d5c9..91771047 100644
--- a/search/all_a.js
+++ b/search/all_a.js
@@ -1,16 +1,16 @@
var searchData=
[
- ['kernel_5fcaching',['kernel_caching',['../classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946',1,'llfio_v2_xxx::handle']]],
- ['key_5findex_5fsize',['key_index_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad22582ec2ab7d95e721237b0be5cfda9',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size() const noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a11a8bb4729443919359e42ce426d8849',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size(size_type bytes) noexcept=0']]],
- ['key_5fsize',['key_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae130e459c70eba09f4af3891dc3ae07f',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['key_5ftype',['key_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa6438527cd168b81fa0e6f61d0f17cfe',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['kvstore_2ehpp',['kvstore.hpp',['../kvstore_8hpp.html',1,'']]],
- ['kvstore_5ferrc',['kvstore_errc',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5f',1,'kvstore_v1_xxx']]],
- ['kvstore_5fv1',['KVSTORE_V1',['../group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3',1,'kvstore.hpp']]],
- ['kvstore_5fv1_5fnamespace',['KVSTORE_V1_NAMESPACE',['../group__config.html#ga8a15603141e848a1816c1758b9436287',1,'kvstore.hpp']]],
- ['kvstore_5fv1_5fnamespace_5fbegin',['KVSTORE_V1_NAMESPACE_BEGIN',['../group__config.html#ga86edeb2887d8f97f8b93005f08e46c80',1,'kvstore.hpp']]],
- ['kvstore_5fv1_5fnamespace_5fend',['KVSTORE_V1_NAMESPACE_END',['../group__config.html#ga797a3aa85bda51271100fe47cecf2058',1,'kvstore.hpp']]],
- ['kvstore_5fv1_5fnamespace_5fexport_5fbegin',['KVSTORE_V1_NAMESPACE_EXPORT_BEGIN',['../group__config.html#ga1d39516e3f1380b0d2906629a8add07c',1,'kvstore.hpp']]],
- ['kvstore_5fv1_5fxxx',['kvstore_v1_xxx',['../namespacekvstore__v1__xxx.html',1,'']]],
- ['traits',['traits',['../namespacekvstore__v1__xxx_1_1traits.html',1,'kvstore_v1_xxx']]]
+ ['kernel_5fcaching_347',['kernel_caching',['../classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946',1,'llfio_v2_xxx::handle']]],
+ ['key_5findex_5fsize_348',['key_index_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad22582ec2ab7d95e721237b0be5cfda9',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size() const noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a11a8bb4729443919359e42ce426d8849',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size(size_type bytes) noexcept=0']]],
+ ['key_5fsize_349',['key_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae130e459c70eba09f4af3891dc3ae07f',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['key_5ftype_350',['key_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa6438527cd168b81fa0e6f61d0f17cfe',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['kvstore_2ehpp_351',['kvstore.hpp',['../kvstore_8hpp.html',1,'']]],
+ ['kvstore_5ferrc_352',['kvstore_errc',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5f',1,'kvstore_v1_xxx']]],
+ ['kvstore_5fv1_353',['KVSTORE_V1',['../group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3',1,'kvstore.hpp']]],
+ ['kvstore_5fv1_5fnamespace_354',['KVSTORE_V1_NAMESPACE',['../group__config.html#ga8a15603141e848a1816c1758b9436287',1,'kvstore.hpp']]],
+ ['kvstore_5fv1_5fnamespace_5fbegin_355',['KVSTORE_V1_NAMESPACE_BEGIN',['../group__config.html#ga86edeb2887d8f97f8b93005f08e46c80',1,'kvstore.hpp']]],
+ ['kvstore_5fv1_5fnamespace_5fend_356',['KVSTORE_V1_NAMESPACE_END',['../group__config.html#ga797a3aa85bda51271100fe47cecf2058',1,'kvstore.hpp']]],
+ ['kvstore_5fv1_5fnamespace_5fexport_5fbegin_357',['KVSTORE_V1_NAMESPACE_EXPORT_BEGIN',['../group__config.html#ga1d39516e3f1380b0d2906629a8add07c',1,'kvstore.hpp']]],
+ ['kvstore_5fv1_5fxxx_358',['kvstore_v1_xxx',['../namespacekvstore__v1__xxx.html',1,'']]],
+ ['traits_359',['traits',['../namespacekvstore__v1__xxx_1_1traits.html',1,'kvstore_v1_xxx']]]
];
diff --git a/search/all_b.html b/search/all_b.html
index 0814e4e0..14f34036 100644
--- a/search/all_b.html
+++ b/search/all_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_b.js b/search/all_b.js
index feada656..41d4f149 100644
--- a/search/all_b.js
+++ b/search/all_b.js
@@ -1,50 +1,60 @@
var searchData=
[
- ['algorithm',['algorithm',['../namespacellfio__v2__xxx_1_1algorithm.html',1,'llfio_v2_xxx']]],
- ['impl',['impl',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html',1,'llfio_v2_xxx::algorithm']]],
- ['leafname',['leafname',['../structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e',1,'llfio_v2_xxx::directory_entry']]],
- ['length',['length',['../classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441',1,'llfio_v2_xxx::section_handle::length()'],['../classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7',1,'llfio_v2_xxx::map_handle::length()'],['../namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9',1,'llfio_v2_xxx::length(const section_handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a70e68bcf05636966ffefe001b903487e',1,'llfio_v2_xxx::length(const map_handle &amp;self) noexcept']]],
- ['llfio_2ehpp',['llfio.hpp',['../llfio_8hpp.html',1,'(Global Namespace)'],['../v2_80_2llfio_8hpp.html',1,'(Global Namespace)']]],
- ['llfio_5fcompile_5fkqueues',['LLFIO_COMPILE_KQUEUES',['../io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8',1,'io_service.hpp']]],
- ['llfio_5fdisable_5fpaths_5fin_5ffailure_5finfo',['LLFIO_DISABLE_PATHS_IN_FAILURE_INFO',['../config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a',1,'config.hpp']]],
- ['llfio_5fexperimental_5fstatus_5fcode',['LLFIO_EXPERIMENTAL_STATUS_CODE',['../config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559',1,'config.hpp']]],
- ['llfio_5fhave_5frealtime_5fsignals',['LLFIO_HAVE_REALTIME_SIGNALS',['../io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773',1,'io_service.hpp']]],
- ['llfio_5fheaders_5fonly',['LLFIO_HEADERS_ONLY',['../group__config.html#ga5365e6c96107a8e7edf6030462562cae',1,'config.hpp']]],
- ['llfio_5fheaders_5fonly_5ffunc_5fspec',['LLFIO_HEADERS_ONLY_FUNC_SPEC',['../group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0',1,'config.hpp']]],
- ['llfio_5fheaders_5fonly_5fmemfunc_5fspec',['LLFIO_HEADERS_ONLY_MEMFUNC_SPEC',['../group__config.html#gad270840dbd547a75ad62d48e93412ca7',1,'config.hpp']]],
- ['llfio_5fheaders_5fonly_5fvirtual_5fspec',['LLFIO_HEADERS_ONLY_VIRTUAL_SPEC',['../group__config.html#ga40c15a3fc44361077b478acbfaca18ee',1,'config.hpp']]],
- ['llfio_5fheaders_5fpath',['LLFIO_HEADERS_PATH',['../llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65',1,'llfio.hpp']]],
- ['llfio_5fio_5fpost_5fsignal',['LLFIO_IO_POST_SIGNAL',['../io__service_8hpp.html#af5cfb661784f372559747708772b9106',1,'io_service.hpp']]],
- ['llfio_5flog_5fbacktrace_5flevels',['LLFIO_LOG_BACKTRACE_LEVELS',['../group__config.html#ga799d6ef19b741b67d019652e4acc271f',1,'config.hpp']]],
- ['llfio_5flog_5fto_5fostream',['LLFIO_LOG_TO_OSTREAM',['../config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d',1,'config.hpp']]],
- ['llfio_5flogging_5flevel',['LLFIO_LOGGING_LEVEL',['../group__config.html#gaf958c6b17b345d3b84043bf7352451f2',1,'config.hpp']]],
- ['llfio_5flogging_5fmemory',['LLFIO_LOGGING_MEMORY',['../group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541',1,'config.hpp']]],
- ['llfio_5fmodule_5fname',['LLFIO_MODULE_NAME',['../v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87',1,'llfio.hpp']]],
- ['llfio_5fnamespace_5fversion',['LLFIO_NAMESPACE_VERSION',['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;llfio.hpp']]],
- ['llfio_5ftemplate',['LLFIO_TEMPLATE',['../classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const'],['../classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_acceptable&lt; Char &gt;)) const expr int compare(const Char *s) const noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::LLFIO_TEMPLATE()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std']]],
- ['llfio_5funstable_5fversion',['LLFIO_UNSTABLE_VERSION',['../group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706',1,'version.hpp']]],
- ['llfio_5fuse_5fposix_5faio',['LLFIO_USE_POSIX_AIO',['../io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280',1,'io_service.hpp']]],
- ['llfio_5fv2',['LLFIO_V2',['../group__config.html#gabb964a24682a722a7eaad891ee497a61',1,'config.hpp']]],
- ['llfio_5fv2_5fnamespace',['LLFIO_V2_NAMESPACE',['../group__config.html#gac9f7f0153adb9034d26c4554728f817a',1,'config.hpp']]],
- ['llfio_5fv2_5fnamespace_5fbegin',['LLFIO_V2_NAMESPACE_BEGIN',['../group__config.html#gae1eb04a1ef4089291c04f60a66b9849e',1,'config.hpp']]],
- ['llfio_5fv2_5fnamespace_5fend',['LLFIO_V2_NAMESPACE_END',['../group__config.html#ga84df5d479525cd6b58f873c2f9869b22',1,'config.hpp']]],
- ['llfio_5fv2_5fnamespace_5fexport_5fbegin',['LLFIO_V2_NAMESPACE_EXPORT_BEGIN',['../group__config.html#gab2f82803f0ce479a2993d3b7696db8d3',1,'config.hpp']]],
- ['llfio_5fv2_5fxxx',['llfio_v2_xxx',['../namespacellfio__v2__xxx.html',1,'']]],
- ['llfio_5fversion_5fmajor',['LLFIO_VERSION_MAJOR',['../group__config.html#gacac3045524a50876c1bc6068bd6237f0',1,'version.hpp']]],
- ['llfio_5fversion_5fminor',['LLFIO_VERSION_MINOR',['../group__config.html#gab03294596f77a7717954929a887ca425',1,'version.hpp']]],
- ['llfio_5fversion_5fpatch',['LLFIO_VERSION_PATCH',['../group__config.html#ga090b0d323b6d7d2496dba7aa42068013',1,'version.hpp']]],
- ['llfio_5fversion_5frevision',['LLFIO_VERSION_REVISION',['../group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4',1,'version.hpp']]],
- ['local',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['lock',['lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entities_type entities, deadline d=deadline(), bool spin_not_sleep=false) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a33dcc1d37df90ac5dd85a754f9ffce04',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entity_type entity, deadline d=deadline(), bool spin_not_sleep=false) noexcept']]],
- ['lock_5ffiles',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(lock_files &amp;&amp;o) noexcept']]],
- ['lock_5ffiles_2ehpp',['lock_files.hpp',['../lock__files_8hpp.html',1,'']]],
- ['lock_5fkind',['lock_kind',['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63',1,'llfio_v2_xxx::file_handle']]],
- ['lock_5frange',['lock_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e',1,'llfio_v2_xxx::fast_random_file_handle::lock_range()'],['../classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793',1,'llfio_v2_xxx::file_handle::lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2',1,'llfio_v2_xxx::file_handle::lock_range(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503',1,'llfio_v2_xxx::file_handle::lock_range(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['log',['log',['../namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826',1,'llfio_v2_xxx']]],
- ['log_5flevel',['log_level',['../namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783',1,'llfio_v2_xxx']]],
- ['log_5flevel_5fguard',['log_level_guard',['../classllfio__v2__xxx_1_1log__level__guard.html',1,'llfio_v2_xxx']]],
- ['path_5fdiscovery',['path_discovery',['../namespacellfio__v2__xxx_1_1path__discovery.html',1,'llfio_v2_xxx']]],
- ['shared_5ffs_5fmutex',['shared_fs_mutex',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm']]],
- ['storage_5fprofile',['storage_profile',['../namespacellfio__v2__xxx_1_1storage__profile.html',1,'llfio_v2_xxx']]],
- ['utils',['utils',['../namespacellfio__v2__xxx_1_1utils.html',1,'llfio_v2_xxx']]]
+ ['algorithm_360',['algorithm',['../namespacellfio__v2__xxx_1_1algorithm.html',1,'llfio_v2_xxx']]],
+ ['impl_361',['impl',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html',1,'llfio_v2_xxx::algorithm']]],
+ ['launch_5fprocess_362',['launch_process',['../classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f',1,'llfio_v2_xxx::process_handle::launch_process(path_view path, span&lt; path_view_component &gt; args, span&lt; path_view_component &gt; env= *current().environment(), flag flags=flag::wait_on_close) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#ad9e7e0f8b50ba19ec635ff76b8b4ceb8',1,'llfio_v2_xxx::process_handle::launch_process(path_view path, span&lt; path_view_component &gt; args, flag flags=flag::wait_on_close) noexcept']]],
+ ['leafname_363',['leafname',['../structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e',1,'llfio_v2_xxx::directory_entry']]],
+ ['length_364',['length',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a',1,'llfio_v2_xxx::file_handle::extent_pair::length()'],['../classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441',1,'llfio_v2_xxx::section_handle::length()'],['../classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7',1,'llfio_v2_xxx::map_handle::length()'],['../namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9',1,'llfio_v2_xxx::length(const section_handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a70e68bcf05636966ffefe001b903487e',1,'llfio_v2_xxx::length(const map_handle &amp;self) noexcept']]],
+ ['link_365',['link',['../classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c',1,'llfio_v2_xxx::fs_handle']]],
+ ['llfio_2ehpp_366',['llfio.hpp',['../llfio_8hpp.html',1,'(Global Namespace)'],['../v2_80_2llfio_8hpp.html',1,'(Global Namespace)']]],
+ ['llfio_5fdeadline_5fto_5fpartial_5fdeadline_367',['LLFIO_DEADLINE_TO_PARTIAL_DEADLINE',['../deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5fpartial_5ftimeout_368',['LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT',['../deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5fsleep_5finit_369',['LLFIO_DEADLINE_TO_SLEEP_INIT',['../deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5ftimeout_5floop_370',['LLFIO_DEADLINE_TO_TIMEOUT_LOOP',['../deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba',1,'deadline.h']]],
+ ['llfio_5fdisable_5fpaths_5fin_5ffailure_5finfo_371',['LLFIO_DISABLE_PATHS_IN_FAILURE_INFO',['../config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a',1,'config.hpp']]],
+ ['llfio_5fexperimental_5fstatus_5fcode_372',['LLFIO_EXPERIMENTAL_STATUS_CODE',['../config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559',1,'config.hpp']]],
+ ['llfio_5fheaders_5fonly_373',['LLFIO_HEADERS_ONLY',['../group__config.html#ga5365e6c96107a8e7edf6030462562cae',1,'config.hpp']]],
+ ['llfio_5fheaders_5fonly_5ffunc_5fspec_374',['LLFIO_HEADERS_ONLY_FUNC_SPEC',['../group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0',1,'config.hpp']]],
+ ['llfio_5fheaders_5fonly_5fmemfunc_5fspec_375',['LLFIO_HEADERS_ONLY_MEMFUNC_SPEC',['../group__config.html#gad270840dbd547a75ad62d48e93412ca7',1,'config.hpp']]],
+ ['llfio_5fheaders_5fonly_5fvirtual_5fspec_376',['LLFIO_HEADERS_ONLY_VIRTUAL_SPEC',['../group__config.html#ga40c15a3fc44361077b478acbfaca18ee',1,'config.hpp']]],
+ ['llfio_5fheaders_5fpath_377',['LLFIO_HEADERS_PATH',['../llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65',1,'llfio.hpp']]],
+ ['llfio_5flog_5fbacktrace_5flevels_378',['LLFIO_LOG_BACKTRACE_LEVELS',['../group__config.html#ga799d6ef19b741b67d019652e4acc271f',1,'config.hpp']]],
+ ['llfio_5flog_5fto_5fostream_379',['LLFIO_LOG_TO_OSTREAM',['../config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d',1,'config.hpp']]],
+ ['llfio_5flogging_5flevel_380',['LLFIO_LOGGING_LEVEL',['../group__config.html#gaf958c6b17b345d3b84043bf7352451f2',1,'config.hpp']]],
+ ['llfio_5flogging_5fmemory_381',['LLFIO_LOGGING_MEMORY',['../group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541',1,'config.hpp']]],
+ ['llfio_5fmodule_5fname_382',['LLFIO_MODULE_NAME',['../v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87',1,'llfio.hpp']]],
+ ['llfio_5fnamespace_5fversion_383',['LLFIO_NAMESPACE_VERSION',['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;llfio.hpp']]],
+ ['llfio_5ftemplate_384',['LLFIO_TEMPLATE',['../classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const std'],['../classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const Char *s'],['../classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p'],['../classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const'],['../classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const std'],['../classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const Char *s'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::LLFIO_TEMPLATE()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b',1,'llfio_v2_xxx::LLFIO_TEMPLATE()']]],
+ ['llfio_5funstable_5fversion_385',['LLFIO_UNSTABLE_VERSION',['../group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706',1,'version.hpp']]],
+ ['llfio_5fv2_386',['LLFIO_V2',['../group__config.html#gabb964a24682a722a7eaad891ee497a61',1,'config.hpp']]],
+ ['llfio_5fv2_5fnamespace_387',['LLFIO_V2_NAMESPACE',['../group__config.html#gac9f7f0153adb9034d26c4554728f817a',1,'config.hpp']]],
+ ['llfio_5fv2_5fnamespace_5fbegin_388',['LLFIO_V2_NAMESPACE_BEGIN',['../group__config.html#gae1eb04a1ef4089291c04f60a66b9849e',1,'config.hpp']]],
+ ['llfio_5fv2_5fnamespace_5fend_389',['LLFIO_V2_NAMESPACE_END',['../group__config.html#ga84df5d479525cd6b58f873c2f9869b22',1,'config.hpp']]],
+ ['llfio_5fv2_5fnamespace_5fexport_5fbegin_390',['LLFIO_V2_NAMESPACE_EXPORT_BEGIN',['../group__config.html#gab2f82803f0ce479a2993d3b7696db8d3',1,'config.hpp']]],
+ ['llfio_5fv2_5fxxx_391',['llfio_v2_xxx',['../namespacellfio__v2__xxx.html',1,'']]],
+ ['llfio_5fversion_5fmajor_392',['LLFIO_VERSION_MAJOR',['../group__config.html#gacac3045524a50876c1bc6068bd6237f0',1,'version.hpp']]],
+ ['llfio_5fversion_5fminor_393',['LLFIO_VERSION_MINOR',['../group__config.html#gab03294596f77a7717954929a887ca425',1,'version.hpp']]],
+ ['llfio_5fversion_5fpatch_394',['LLFIO_VERSION_PATCH',['../group__config.html#ga090b0d323b6d7d2496dba7aa42068013',1,'version.hpp']]],
+ ['llfio_5fversion_5frevision_395',['LLFIO_VERSION_REVISION',['../group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4',1,'version.hpp']]],
+ ['local_396',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['lock_397',['lock',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard::lock()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0',1,'llfio_v2_xxx::unique_file_lock::lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entities_type entities, deadline d=deadline(), bool spin_not_sleep=false) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a33dcc1d37df90ac5dd85a754f9ffce04',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entity_type entity, deadline d=deadline(), bool spin_not_sleep=false) noexcept']]],
+ ['lock_5ffile_398',['lock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['lock_5ffile_5frange_399',['lock_file_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711',1,'llfio_v2_xxx::fast_random_file_handle::lock_file_range()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c',1,'llfio_v2_xxx::lockable_io_handle::lock_file_range()']]],
+ ['lock_5ffile_5fshared_400',['lock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['lock_5ffiles_401',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(lock_files &amp;&amp;o) noexcept']]],
+ ['lock_5ffiles_2ehpp_402',['lock_files.hpp',['../lock__files_8hpp.html',1,'']]],
+ ['lock_5fguard_403',['lock_guard',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard::lock_guard()']]],
+ ['lock_5fkind_404',['lock_kind',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33',1,'llfio_v2_xxx']]],
+ ['lock_5fshared_405',['lock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['lockable_5fio_5fhandle_406',['lockable_io_handle',['../classllfio__v2__xxx_1_1lockable__io__handle.html',1,'llfio_v2_xxx::lockable_io_handle'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(io_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(lockable_io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(const lockable_io_handle &amp;)=delete']]],
+ ['lockable_5fio_5fhandle_2ehpp_407',['lockable_io_handle.hpp',['../lockable__io__handle_8hpp.html',1,'']]],
+ ['log_408',['log',['../namespacellfio__v2__xxx.html#af54eb9dc436578bd4f28ba955293986d',1,'llfio_v2_xxx']]],
+ ['log_5fimplementation_5ftype_409',['log_implementation_type',['../namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a',1,'llfio_v2_xxx']]],
+ ['log_5flevel_410',['log_level',['../namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783',1,'llfio_v2_xxx']]],
+ ['log_5flevel_5fguard_411',['log_level_guard',['../classllfio__v2__xxx_1_1log__level__guard.html',1,'llfio_v2_xxx']]],
+ ['path_5fdiscovery_412',['path_discovery',['../namespacellfio__v2__xxx_1_1path__discovery.html',1,'llfio_v2_xxx']]],
+ ['shared_5ffs_5fmutex_413',['shared_fs_mutex',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm']]],
+ ['storage_5fprofile_414',['storage_profile',['../namespacellfio__v2__xxx_1_1storage__profile.html',1,'llfio_v2_xxx']]],
+ ['this_5fthread_415',['this_thread',['../namespacellfio__v2__xxx_1_1this__thread.html',1,'llfio_v2_xxx']]],
+ ['utils_416',['utils',['../namespacellfio__v2__xxx_1_1utils.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_c.html b/search/all_c.html
index da08c387..da60ab8d 100644
--- a/search/all_c.html
+++ b/search/all_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_c.js b/search/all_c.js
index 45bb8024..7ea47007 100644
--- a/search/all_c.js
+++ b/search/all_c.js
@@ -1,29 +1,38 @@
var searchData=
[
- ['map',['map',['../classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c',1,'llfio_v2_xxx::map_handle::map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533',1,'llfio_v2_xxx::map_handle::map(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0',1,'llfio_v2_xxx::mapped::map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf',1,'llfio_v2_xxx::mapped_file_handle::map() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a',1,'llfio_v2_xxx::mapped_file_handle::map() noexcept'],['../namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f',1,'llfio_v2_xxx::map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c',1,'llfio_v2_xxx::map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept']]],
- ['map_5fhandle',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html',1,'llfio_v2_xxx::map_handle'],['../classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279',1,'llfio_v2_xxx::map_handle::map_handle()'],['../classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b',1,'llfio_v2_xxx::map_handle::map_handle(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4',1,'llfio_v2_xxx::map_handle::map_handle(const map_handle &amp;)=delete']]],
- ['map_5fhandle_2ehpp',['map_handle.hpp',['../map__handle_8hpp.html',1,'']]],
- ['map_5fto_5fstorage_5ftype',['map_to_storage_type',['../namespacellfio__v2__xxx_1_1storage__profile.html#a9c35f07dd0bcac144d54ad4779533880',1,'llfio_v2_xxx::storage_profile']]],
- ['mapped',['mapped',['../classllfio__v2__xxx_1_1mapped.html',1,'llfio_v2_xxx::mapped&lt; T &gt;'],['../classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d',1,'llfio_v2_xxx::mapped::mapped()'],['../classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144',1,'llfio_v2_xxx::mapped::mapped(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9',1,'llfio_v2_xxx::mapped::mapped(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a',1,'llfio_v2_xxx::mapped::mapped(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)']]],
- ['mapped_2ehpp',['mapped.hpp',['../mapped_8hpp.html',1,'']]],
- ['mapped_5ffile',['mapped_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a76fdccd61395f0898fa55c79530b96b3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept'],['../namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730',1,'llfio_v2_xxx::mapped_file(mapped_file_handle::size_type reservation, const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d',1,'llfio_v2_xxx::mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept']]],
- ['mapped_5ffile_5fhandle',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html',1,'llfio_v2_xxx::mapped_file_handle'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(const mapped_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, size_type reservation) noexcept']]],
- ['mapped_5ffile_5fhandle_2ehpp',['mapped_file_handle.hpp',['../mapped__file__handle_8hpp.html',1,'']]],
- ['mapped_5frandom_5ffile',['mapped_random_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f',1,'llfio_v2_xxx::mapped_file_handle::mapped_random_file()'],['../namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc',1,'llfio_v2_xxx::mapped_random_file()']]],
- ['mapped_5ftemp_5ffile',['mapped_temp_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_file()'],['../namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7',1,'llfio_v2_xxx::mapped_temp_file()']]],
- ['mapped_5ftemp_5finode',['mapped_temp_inode',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_inode()'],['../namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b',1,'llfio_v2_xxx::mapped_temp_inode()']]],
- ['match',['match',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['max_5fbuffers',['max_buffers',['../classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7',1,'llfio_v2_xxx::io_handle']]],
- ['max_5fbytes_5fstored',['max_bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a359e8683df35d2a2b84f801426d9c4bb',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored(capacity_type quota) noexcept=0']]],
- ['max_5fkey_5fsize',['max_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['max_5fsize',['max_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6',1,'kvstore_v1_xxx::basic_key_value_store::max_size() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2',1,'kvstore_v1_xxx::basic_key_value_store::max_size(capacity_type quota) noexcept=0'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490',1,'llfio_v2_xxx::storage_profile::storage_profile::max_size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::max_size()']]],
- ['max_5fvalue_5fsize',['max_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781',1,'kvstore_v1_xxx::basic_key_value_store_info::max_value_size()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386',1,'kvstore_v1_xxx::basic_key_value_store::max_value_size()']]],
- ['maximum_5fextent',['maximum_extent',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398',1,'llfio_v2_xxx::fast_random_file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4',1,'llfio_v2_xxx::file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0',1,'llfio_v2_xxx::mapped_file_handle::maximum_extent()'],['../namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02',1,'llfio_v2_xxx::maximum_extent()']]],
- ['memory_5fbacked_5ftemporary_5ffiles_5fdirectory',['memory_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29',1,'llfio_v2_xxx::path_discovery']]],
- ['memory_5fmap',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(memory_map &amp;&amp;o) noexcept']]],
- ['memory_5fmap_2ehpp',['memory_map.hpp',['../memory__map_8hpp.html',1,'']]],
- ['metadata',['metadata',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
- ['min_5fkey_5fsize',['min_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['min_5fvalue_5fsize',['min_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['mode',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle::mode()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]]
+ ['make_5fdynamic_5fthread_5fpool_5fgroup_417',['make_dynamic_thread_pool_group',['../namespacellfio__v2__xxx.html#a53c9bba00e56a8e7c7c03e5b1f479ae5',1,'llfio_v2_xxx']]],
+ ['map_418',['map',['../classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c',1,'llfio_v2_xxx::map_handle::map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533',1,'llfio_v2_xxx::map_handle::map(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0',1,'llfio_v2_xxx::mapped::map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf',1,'llfio_v2_xxx::mapped_file_handle::map() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a',1,'llfio_v2_xxx::mapped_file_handle::map() noexcept'],['../namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f',1,'llfio_v2_xxx::map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c',1,'llfio_v2_xxx::map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept']]],
+ ['map_5fhandle_419',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html',1,'llfio_v2_xxx::map_handle'],['../classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279',1,'llfio_v2_xxx::map_handle::map_handle()'],['../classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c',1,'llfio_v2_xxx::map_handle::map_handle(byte *addr, size_type length, size_type pagesize, section_handle::flag flags, section_handle *section=nullptr, extent_type offset=0) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b',1,'llfio_v2_xxx::map_handle::map_handle(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4',1,'llfio_v2_xxx::map_handle::map_handle(const map_handle &amp;)=delete']]],
+ ['map_5fhandle_2ehpp_420',['map_handle.hpp',['../map__handle_8hpp.html',1,'']]],
+ ['map_5fto_5fstorage_5ftype_421',['map_to_storage_type',['../namespacellfio__v2__xxx_1_1storage__profile.html#a9c35f07dd0bcac144d54ad4779533880',1,'llfio_v2_xxx::storage_profile']]],
+ ['mapped_422',['mapped',['../classllfio__v2__xxx_1_1mapped.html',1,'llfio_v2_xxx::mapped&lt; T &gt;'],['../classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d',1,'llfio_v2_xxx::mapped::mapped()'],['../classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144',1,'llfio_v2_xxx::mapped::mapped(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9',1,'llfio_v2_xxx::mapped::mapped(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a',1,'llfio_v2_xxx::mapped::mapped(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)']]],
+ ['mapped_2ehpp_423',['mapped.hpp',['../mapped_8hpp.html',1,'']]],
+ ['mapped_5ffile_424',['mapped_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2e29622e47efa7a342e3f829b11dabcf',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730',1,'llfio_v2_xxx::mapped_file(mapped_file_handle::size_type reservation, const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d',1,'llfio_v2_xxx::mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept']]],
+ ['mapped_5ffile_5fhandle_425',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html',1,'llfio_v2_xxx::mapped_file_handle'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(const mapped_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, section_handle::flag sflags) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, size_type reservation, section_handle::flag sflags) noexcept']]],
+ ['mapped_5ffile_5fhandle_2ehpp_426',['mapped_file_handle.hpp',['../mapped__file__handle_8hpp.html',1,'']]],
+ ['mapped_5ftemp_5ffile_427',['mapped_temp_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_file()'],['../namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7',1,'llfio_v2_xxx::mapped_temp_file()']]],
+ ['mapped_5ftemp_5finode_428',['mapped_temp_inode',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_inode()'],['../namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b',1,'llfio_v2_xxx::mapped_temp_inode()']]],
+ ['mapped_5funiquely_5fnamed_5ffile_429',['mapped_uniquely_named_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907',1,'llfio_v2_xxx::mapped_file_handle::mapped_uniquely_named_file()'],['../namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38',1,'llfio_v2_xxx::mapped_uniquely_named_file()']]],
+ ['match_430',['match',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['max_5fbuffers_431',['max_buffers',['../classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0',1,'llfio_v2_xxx::io_handle']]],
+ ['max_5fbytes_5fstored_432',['max_bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a359e8683df35d2a2b84f801426d9c4bb',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored(capacity_type quota) noexcept=0']]],
+ ['max_5fdepth_433',['max_depth',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['max_5fiosbusytime_434',['max_iosbusytime',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['max_5fiosinprogress_435',['max_iosinprogress',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['max_5fkey_5fsize_436',['max_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['max_5fsize_437',['max_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6',1,'kvstore_v1_xxx::basic_key_value_store::max_size() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2',1,'kvstore_v1_xxx::basic_key_value_store::max_size(capacity_type quota) noexcept=0'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490',1,'llfio_v2_xxx::storage_profile::storage_profile::max_size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::max_size()']]],
+ ['max_5fvalue_5fsize_438',['max_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781',1,'kvstore_v1_xxx::basic_key_value_store_info::max_value_size()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386',1,'kvstore_v1_xxx::basic_key_value_store::max_value_size()']]],
+ ['maximum_5fextent_439',['maximum_extent',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398',1,'llfio_v2_xxx::fast_random_file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4',1,'llfio_v2_xxx::file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0',1,'llfio_v2_xxx::mapped_file_handle::maximum_extent()'],['../namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02',1,'llfio_v2_xxx::maximum_extent()']]],
+ ['memory_5fbacked_5ftemporary_5ffiles_5fdirectory_440',['memory_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29',1,'llfio_v2_xxx::path_discovery']]],
+ ['memory_5fmap_441',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(memory_map &amp;&amp;o) noexcept']]],
+ ['memory_5fmap_2ehpp_442',['memory_map.hpp',['../memory__map_8hpp.html',1,'']]],
+ ['message_443',['message',['../structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9',1,'llfio_v2_xxx::error_info']]],
+ ['metadata_444',['metadata',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_type::metadata()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca',1,'llfio_v2_xxx::directory_handle::buffers_type::metadata()']]],
+ ['min_5fiosinprogress_445',['min_iosinprogress',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['min_5fkey_5fsize_446',['min_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['min_5fvalue_5fsize_447',['min_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['mode_448',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle::mode()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]],
+ ['ms_5fsleep_5ffor_5fmore_5fwork_449',['ms_sleep_for_more_work',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#aac4c23e6b02acabeebac08955fe264f7',1,'llfio_v2_xxx::dynamic_thread_pool_group::ms_sleep_for_more_work() noexcept'],['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a',1,'llfio_v2_xxx::dynamic_thread_pool_group::ms_sleep_for_more_work(uint32_t v) noexcept']]],
+ ['multiplexer_450',['multiplexer',['../classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e',1,'llfio_v2_xxx::io_handle::multiplexer()'],['../namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707',1,'llfio_v2_xxx::this_thread::multiplexer()']]],
+ ['mutex_451',['mutex',['../classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16',1,'llfio_v2_xxx::unique_file_lock']]]
];
diff --git a/search/all_d.html b/search/all_d.html
index 9986c9cb..bc376fec 100644
--- a/search/all_d.html
+++ b/search/all_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_d.js b/search/all_d.js
index 3e6dadb9..10bc8f09 100644
--- a/search/all_d.js
+++ b/search/all_d.js
@@ -1,15 +1,21 @@
var searchData=
[
- ['name',['name',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed',1,'kvstore_v1_xxx::basic_key_value_store_info::name()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf',1,'llfio_v2_xxx::storage_profile::item_base::name()']]],
- ['native_5fhandle',['native_handle',['../classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72',1,'llfio_v2_xxx::handle']]],
- ['native_5fhandle_5ftype',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html',1,'llfio_v2_xxx::native_handle_type'],['../structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd',1,'llfio_v2_xxx::native_handle_type::native_handle_type()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, int _fd) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, win::handle _h) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9',1,'llfio_v2_xxx::native_handle_type::native_handle_type(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d',1,'llfio_v2_xxx::native_handle_type::native_handle_type(native_handle_type &amp;&amp;o) noexcept']]],
- ['native_5fhandle_5ftype_2ehpp',['native_handle_type.hpp',['../native__handle__type_8hpp.html',1,'']]],
- ['native_5fsize',['native_size',['../classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec',1,'llfio_v2_xxx::path_view_component::native_size()'],['../classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f',1,'llfio_v2_xxx::path_view::native_size()']]],
- ['noexec',['noexec',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['none',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
- ['nosuid',['nosuid',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['nowait_5fall',['nowait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_handle']]],
- ['nowait_5fdata_5fonly',['nowait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_handle']]],
- ['nsecs',['nsecs',['../structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359',1,'llfio_v2_xxx::deadline']]],
- ['nvram_5fbarrier',['nvram_barrier',['../namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838',1,'llfio_v2_xxx']]]
+ ['name_452',['name',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed',1,'kvstore_v1_xxx::basic_key_value_store_info::name()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf',1,'llfio_v2_xxx::storage_profile::item_base::name()']]],
+ ['native_5fformat_453',['native_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b',1,'llfio_v2_xxx::path_view_component']]],
+ ['native_5fhandle_454',['native_handle',['../classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72',1,'llfio_v2_xxx::handle']]],
+ ['native_5fhandle_5ftype_455',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html',1,'llfio_v2_xxx::native_handle_type'],['../structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd',1,'llfio_v2_xxx::native_handle_type::native_handle_type()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, int _fd) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, win::handle _h) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9',1,'llfio_v2_xxx::native_handle_type::native_handle_type(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d',1,'llfio_v2_xxx::native_handle_type::native_handle_type(native_handle_type &amp;&amp;o) noexcept']]],
+ ['native_5fhandle_5ftype_2ehpp_456',['native_handle_type.hpp',['../native__handle__type_8hpp.html',1,'']]],
+ ['native_5fsize_457',['native_size',['../classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec',1,'llfio_v2_xxx::path_view_component']]],
+ ['next_458',['next',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]],
+ ['noexec_459',['noexec',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['noncompleted_5ft_460',['noncompleted_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['noncontent_5fmetadata_5fchanged_461',['noncontent_metadata_changed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['none_462',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
+ ['nosuid_463',['nosuid',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['not_5fzero_5fterminated_464',['not_zero_terminated',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f',1,'llfio_v2_xxx::path_view_component']]],
+ ['nowait_5fall_465',['nowait_all',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['nowait_5fdata_5fonly_466',['nowait_data_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['nowait_5fview_5fonly_467',['nowait_view_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['nsecs_468',['nsecs',['../structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359',1,'llfio_v2_xxx::deadline']]],
+ ['nvram_5fbarrier_469',['nvram_barrier',['../namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_e.html b/search/all_e.html
index 9fa42bba..2e3c74dc 100644
--- a/search/all_e.html
+++ b/search/all_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_e.js b/search/all_e.js
index b8e5a777..95d8e793 100644
--- a/search/all_e.js
+++ b/search/all_e.js
@@ -1,28 +1,33 @@
var searchData=
[
- ['offset',['offset',['../classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198',1,'llfio_v2_xxx::map_handle']]],
- ['only_5fif_5fnot_5fexist',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
- ['only_5fmetadata',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
- ['open',['open',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['open_5fexisting',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]],
- ['open_5fkvstore',['open_kvstore',['../namespacekvstore__v1__xxx.html#ab623a6b882a8f334d0ac43dfbfb72408',1,'kvstore_v1_xxx']]],
- ['operator_20bool',['operator bool',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9',1,'llfio_v2_xxx::file_handle::extent_guard::operator bool()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3',1,'llfio_v2_xxx::native_handle_type::operator bool()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator bool()']]],
- ['operator_21',['operator!',['../structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c',1,'llfio_v2_xxx::native_handle_type::operator!()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator!()']]],
- ['operator_21_3d',['operator!=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator!=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9',1,'llfio_v2_xxx::algorithm::operator!=()']]],
- ['operator_28_29',['operator()',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885',1,'llfio_v2_xxx::storage_profile::item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f',1,'llfio_v2_xxx::storage_profile::item_erased::operator()()']]],
- ['operator_2a',['operator*',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa3e6180aaac3564373a81fb3b5660891',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9906a8a0d599685787888c01c4e1eeea',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*() const']]],
- ['operator_2b',['operator+',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4',1,'llfio_v2_xxx::algorithm::impl::operator+(trivial_vector_iterator&lt; T &gt; a, size_t n)'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459',1,'llfio_v2_xxx::algorithm::impl::operator+(size_t n, trivial_vector_iterator&lt; T &gt; a)']]],
- ['operator_2b_2b',['operator++',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#ad81c4ce83291558c52631c9dacd20e3f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#af0e1d40382f6ccd6bba062c44c965ecc',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++(int)']]],
- ['operator_2b_3d',['operator+=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
- ['operator_2d',['operator-',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-()'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a',1,'llfio_v2_xxx::algorithm::impl::operator-()']]],
- ['operator_2d_2d',['operator--',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9341ee27df9873a0df636743c921fa13',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aace7a5e1177b8df36c7f4659b2a49ee9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--(int)']]],
- ['operator_2d_3d',['operator-=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a3b9070148c6ab8f3621613344e54ec3d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
- ['operator_2d_3e',['operator-&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa17eb8f1eba0b9e2ddfbd3cf253ac569',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aefb1a36a833c4cd9c663b283c6f71768',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;() const']]],
- ['operator_3c',['operator&lt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113',1,'llfio_v2_xxx::algorithm::operator&lt;()']]],
- ['operator_3c_3d',['operator&lt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a993ddc5c77998a907582247107f6e6c5',1,'llfio_v2_xxx::algorithm::operator&lt;=()']]],
- ['operator_3d',['operator=',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9',1,'kvstore_v1_xxx::basic_key_value_store::operator=()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928',1,'llfio_v2_xxx::async_file_handle::operator=(async_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25',1,'llfio_v2_xxx::async_file_handle::operator=(const async_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49',1,'llfio_v2_xxx::directory_handle::operator=(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630',1,'llfio_v2_xxx::directory_handle::operator=(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5',1,'llfio_v2_xxx::fast_random_file_handle::operator=(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c',1,'llfio_v2_xxx::fast_random_file_handle::operator=(const fast_random_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6',1,'llfio_v2_xxx::file_handle::operator=(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a',1,'llfio_v2_xxx::file_handle::operator=(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422',1,'llfio_v2_xxx::file_handle::extent_guard::operator=()'],['../classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba',1,'llfio_v2_xxx::fs_handle::operator=(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b',1,'llfio_v2_xxx::fs_handle::operator=(const fs_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0',1,'llfio_v2_xxx::handle::operator=(const handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365',1,'llfio_v2_xxx::handle::operator=(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f',1,'llfio_v2_xxx::io_handle::operator=(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4',1,'llfio_v2_xxx::io_handle::operator=(const io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a',1,'llfio_v2_xxx::section_handle::operator=(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b',1,'llfio_v2_xxx::section_handle::operator=(const section_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195',1,'llfio_v2_xxx::map_handle::operator=(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2',1,'llfio_v2_xxx::map_handle::operator=(const map_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57',1,'llfio_v2_xxx::mapped_file_handle::operator=(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303',1,'llfio_v2_xxx::mapped_file_handle::operator=(const mapped_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29',1,'llfio_v2_xxx::native_handle_type::operator=(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415',1,'llfio_v2_xxx::native_handle_type::operator=(native_handle_type &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a',1,'llfio_v2_xxx::path_handle::operator=(path_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8',1,'llfio_v2_xxx::path_handle::operator=(const path_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a',1,'llfio_v2_xxx::path_view::operator=(const path_view &amp;p)=default'],['../classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f',1,'llfio_v2_xxx::path_view::operator=(path_view &amp;&amp;p) noexcept=default'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const const_buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b',1,'llfio_v2_xxx::symlink_handle::operator=(symlink_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf',1,'llfio_v2_xxx::symlink_handle::operator=(const symlink_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(trivial_vector_impl &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a6fad139bec35264b356c2e057318db3e',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(const combining_handle_adapter &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(atomic_append &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(byte_ranges &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(lock_files &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ac63248b0a6e01753c3433788c99d161c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(memory_map &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a514b3c657d3e8c325e1179a1b24e20ef',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['operator_3d_3d',['operator==',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator==()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1',1,'llfio_v2_xxx::algorithm::operator==()']]],
- ['operator_3e',['operator&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a4ba09ef10dc88c605edf40669322d8d4',1,'llfio_v2_xxx::algorithm::operator&gt;()']]],
- ['operator_3e_3d',['operator&gt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#ade7571062c3e19cb6622bd2e411130ab',1,'llfio_v2_xxx::algorithm::operator&gt;=()']]],
- ['operator_5b_5d',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]]
+ ['offset_470',['offset',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e',1,'llfio_v2_xxx::file_handle::extent_pair::offset()'],['../classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198',1,'llfio_v2_xxx::map_handle::offset()']]],
+ ['only_5fif_5fnot_5fexist_471',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
+ ['only_5fmetadata_472',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
+ ['open_473',['open',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['open_5fexisting_474',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]],
+ ['open_5fkvstore_475',['open_kvstore',['../namespacekvstore__v1__xxx.html#ab623a6b882a8f334d0ac43dfbfb72408',1,'kvstore_v1_xxx']]],
+ ['operator_20bool_476',['operator bool',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::operator bool()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b',1,'llfio_v2_xxx::unique_file_lock::operator bool()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3',1,'llfio_v2_xxx::native_handle_type::operator bool()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator bool()']]],
+ ['operator_21_477',['operator!',['../structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c',1,'llfio_v2_xxx::native_handle_type::operator!()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator!()']]],
+ ['operator_21_3d_478',['operator!=',['../structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1',1,'llfio_v2_xxx::native_handle_type::operator!=()'],['../structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27',1,'llfio_v2_xxx::stat_t::operator!=()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator!=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9',1,'llfio_v2_xxx::algorithm::operator!=()']]],
+ ['operator_28_29_479',['operator()',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885',1,'llfio_v2_xxx::storage_profile::item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f',1,'llfio_v2_xxx::storage_profile::item_erased::operator()()']]],
+ ['operator_2a_480',['operator*',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa3e6180aaac3564373a81fb3b5660891',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9906a8a0d599685787888c01c4e1eeea',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*() const']]],
+ ['operator_2b_481',['operator+',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4',1,'llfio_v2_xxx::algorithm::impl::operator+(trivial_vector_iterator&lt; T &gt; a, size_t n)'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459',1,'llfio_v2_xxx::algorithm::impl::operator+(size_t n, trivial_vector_iterator&lt; T &gt; a)']]],
+ ['operator_2b_2b_482',['operator++',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#ad81c4ce83291558c52631c9dacd20e3f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#af0e1d40382f6ccd6bba062c44c965ecc',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++(int)']]],
+ ['operator_2b_3d_483',['operator+=',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b',1,'llfio_v2_xxx::algorithm::traversal_summary::operator+=()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator+=()']]],
+ ['operator_2d_484',['operator-',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-()'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a',1,'llfio_v2_xxx::algorithm::impl::operator-()']]],
+ ['operator_2d_2d_485',['operator--',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9341ee27df9873a0df636743c921fa13',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aace7a5e1177b8df36c7f4659b2a49ee9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--(int)']]],
+ ['operator_2d_3d_486',['operator-=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a3b9070148c6ab8f3621613344e54ec3d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
+ ['operator_2d_3e_487',['operator-&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa17eb8f1eba0b9e2ddfbd3cf253ac569',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aefb1a36a833c4cd9c663b283c6f71768',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;() const']]],
+ ['operator_2f_488',['operator/',['../namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032',1,'llfio_v2_xxx::operator/(const filesystem::path &amp;a, path_view_component b)'],['../namespacellfio__v2__xxx.html#a56f82dddf1ccbd54e467ef1e35adcb54',1,'llfio_v2_xxx::operator/(filesystem::path &amp;&amp;a, path_view_component b)']]],
+ ['operator_2f_3d_489',['operator/=',['../namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c',1,'llfio_v2_xxx']]],
+ ['operator_3c_490',['operator&lt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf',1,'llfio_v2_xxx::io_multiplexer::awaitable::operator&lt;()'],['../structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a',1,'llfio_v2_xxx::stat_t::operator&lt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113',1,'llfio_v2_xxx::algorithm::operator&lt;()']]],
+ ['operator_3c_3d_491',['operator&lt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a993ddc5c77998a907582247107f6e6c5',1,'llfio_v2_xxx::algorithm::operator&lt;=()']]],
+ ['operator_3d_492',['operator=',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9',1,'kvstore_v1_xxx::basic_key_value_store::operator=()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49',1,'llfio_v2_xxx::directory_handle::operator=(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630',1,'llfio_v2_xxx::directory_handle::operator=(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5',1,'llfio_v2_xxx::fast_random_file_handle::operator=(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c',1,'llfio_v2_xxx::fast_random_file_handle::operator=(const fast_random_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6',1,'llfio_v2_xxx::file_handle::operator=(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a',1,'llfio_v2_xxx::file_handle::operator=(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba',1,'llfio_v2_xxx::fs_handle::operator=(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b',1,'llfio_v2_xxx::fs_handle::operator=(const fs_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0',1,'llfio_v2_xxx::handle::operator=(const handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365',1,'llfio_v2_xxx::handle::operator=(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f',1,'llfio_v2_xxx::io_handle::operator=(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4',1,'llfio_v2_xxx::io_handle::operator=(const io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4',1,'llfio_v2_xxx::lockable_io_handle::operator=(lockable_io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31',1,'llfio_v2_xxx::lockable_io_handle::operator=(const lockable_io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::operator=()'],['../classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a',1,'llfio_v2_xxx::section_handle::operator=(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b',1,'llfio_v2_xxx::section_handle::operator=(const section_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195',1,'llfio_v2_xxx::map_handle::operator=(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2',1,'llfio_v2_xxx::map_handle::operator=(const map_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57',1,'llfio_v2_xxx::mapped_file_handle::operator=(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303',1,'llfio_v2_xxx::mapped_file_handle::operator=(const mapped_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29',1,'llfio_v2_xxx::native_handle_type::operator=(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415',1,'llfio_v2_xxx::native_handle_type::operator=(native_handle_type &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a',1,'llfio_v2_xxx::path_handle::operator=(path_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8',1,'llfio_v2_xxx::path_handle::operator=(const path_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a',1,'llfio_v2_xxx::path_view::operator=(const path_view &amp;p)=default'],['../classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f',1,'llfio_v2_xxx::path_view::operator=(path_view &amp;&amp;p) noexcept=default'],['../classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4',1,'llfio_v2_xxx::pipe_handle::operator=(const pipe_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94',1,'llfio_v2_xxx::pipe_handle::operator=(pipe_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583',1,'llfio_v2_xxx::process_handle::operator=(const process_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6',1,'llfio_v2_xxx::process_handle::operator=(process_handle &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const const_buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b',1,'llfio_v2_xxx::symlink_handle::operator=(symlink_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf',1,'llfio_v2_xxx::symlink_handle::operator=(const symlink_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(trivial_vector_impl &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a6fad139bec35264b356c2e057318db3e',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(const combining_handle_adapter &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(atomic_append &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(byte_ranges &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(lock_files &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ac63248b0a6e01753c3433788c99d161c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(memory_map &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a514b3c657d3e8c325e1179a1b24e20ef',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['operator_3d_3d_493',['operator==',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57',1,'llfio_v2_xxx::io_multiplexer::awaitable::operator==()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73',1,'llfio_v2_xxx::native_handle_type::operator==()'],['../structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841',1,'llfio_v2_xxx::stat_t::operator==()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator==()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1',1,'llfio_v2_xxx::algorithm::operator==()']]],
+ ['operator_3e_494',['operator&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a4ba09ef10dc88c605edf40669322d8d4',1,'llfio_v2_xxx::algorithm::operator&gt;()']]],
+ ['operator_3e_3d_495',['operator&gt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#ade7571062c3e19cb6622bd2e411130ab',1,'llfio_v2_xxx::algorithm::operator&gt;=()']]],
+ ['operator_5b_5d_496',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]],
+ ['out_5fpipe_497',['out_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366',1,'llfio_v2_xxx::process_handle::out_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb',1,'llfio_v2_xxx::process_handle::out_pipe() const noexcept']]],
+ ['outcome_5ftemplate_498',['OUTCOME_TEMPLATE',['../structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5',1,'llfio_v2_xxx::error_info']]],
+ ['owns_5flock_499',['owns_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106',1,'llfio_v2_xxx::unique_file_lock']]]
];
diff --git a/search/all_f.html b/search/all_f.html
index 6ecfc0ed..246f8ab1 100644
--- a/search/all_f.html
+++ b/search/all_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/all_f.js b/search/all_f.js
index efcb535e..cc705bd5 100644
--- a/search/all_f.js
+++ b/search/all_f.js
@@ -1,28 +1,42 @@
var searchData=
[
- ['page_5fallocator',['page_allocator',['../classllfio__v2__xxx_1_1utils_1_1page__allocator.html',1,'llfio_v2_xxx::utils']]],
- ['page_5fallocator_3c_20void_20_3e',['page_allocator&lt; void &gt;',['../classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',1,'llfio_v2_xxx::utils']]],
- ['page_5fsize',['page_size',['../classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc',1,'llfio_v2_xxx::map_handle::page_size()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b',1,'llfio_v2_xxx::mapped_file_handle::page_size()'],['../namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba',1,'llfio_v2_xxx::utils::page_size()']]],
- ['page_5fsizes',['page_sizes',['../namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5',1,'llfio_v2_xxx::utils']]],
- ['parent_5fpath',['parent_path',['../classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562',1,'llfio_v2_xxx::path_view']]],
- ['parent_5fpath_5fhandle',['parent_path_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5',1,'llfio_v2_xxx::fs_handle']]],
- ['path',['path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f',1,'llfio_v2_xxx::path_discovery::discovered_path::path()'],['../classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab',1,'llfio_v2_xxx::path_handle::path(const path_handle &amp;base, path_view_type path) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b',1,'llfio_v2_xxx::path_handle::path(path_view_type _path) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d',1,'llfio_v2_xxx::path_view_component::path()'],['../classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d',1,'llfio_v2_xxx::path_view::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b',1,'llfio_v2_xxx::symlink_handle::buffers_type::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::path()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::path()'],['../namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b',1,'llfio_v2_xxx::path(const path_handle &amp;base, path_handle::path_view_type path) noexcept'],['../namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c',1,'llfio_v2_xxx::path(path_handle::path_view_type _path) noexcept']]],
- ['path_5fdiscovery_2ehpp',['path_discovery.hpp',['../path__discovery_8hpp.html',1,'']]],
- ['path_5fhandle',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html',1,'llfio_v2_xxx::path_handle'],['../classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf',1,'llfio_v2_xxx::path_handle::path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006',1,'llfio_v2_xxx::path_handle::path_handle(native_handle_type h, caching caching=caching::all, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e',1,'llfio_v2_xxx::path_handle::path_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df',1,'llfio_v2_xxx::path_handle::path_handle(path_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc',1,'llfio_v2_xxx::path_handle::path_handle(const path_handle &amp;)=delete']]],
- ['path_5fhandle_2ehpp',['path_handle.hpp',['../path__handle_8hpp.html',1,'']]],
- ['path_5fhasher',['path_hasher',['../structllfio__v2__xxx_1_1path__hasher.html',1,'llfio_v2_xxx']]],
- ['path_5ftype',['path_type',['../classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3',1,'llfio_v2_xxx::handle']]],
- ['path_5fview',['path_view',['../classllfio__v2__xxx_1_1path__view.html',1,'llfio_v2_xxx::path_view'],['../classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339',1,'llfio_v2_xxx::path_view::path_view()'],['../classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045',1,'llfio_v2_xxx::path_view::path_view(const filesystem::path &amp;v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a',1,'llfio_v2_xxx::path_view::path_view(path_view_component v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d',1,'llfio_v2_xxx::path_view::path_view(const char *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28',1,'llfio_v2_xxx::path_view::path_view(const wchar_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb',1,'llfio_v2_xxx::path_view::path_view(const char8_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23',1,'llfio_v2_xxx::path_view::path_view(const char16_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e',1,'llfio_v2_xxx::path_view::path_view(const path_view &amp;)=default'],['../classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266',1,'llfio_v2_xxx::path_view::path_view(path_view &amp;&amp;o) noexcept=default']]],
- ['path_5fview_2ehpp',['path_view.hpp',['../path__view_8hpp.html',1,'']]],
- ['path_5fview_5fcomponent',['path_view_component',['../classllfio__v2__xxx_1_1path__view__component.html',1,'llfio_v2_xxx']]],
- ['path_5fview_5ftype',['path_view_type',['../classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b',1,'llfio_v2_xxx::fs_handle::path_view_type()'],['../classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c',1,'llfio_v2_xxx::path_handle::path_view_type()']]],
- ['pid',['pid',['../structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc',1,'llfio_v2_xxx::native_handle_type']]],
- ['pointer',['pointer',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2',1,'llfio_v2_xxx::io_handle::buffer_type::pointer()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7',1,'llfio_v2_xxx::io_handle::const_buffer_type::pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209',1,'llfio_v2_xxx::mapped::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a',1,'llfio_v2_xxx::symlink_handle::buffers_type::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::pointer()']]],
- ['pop_5fback',['pop_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['posix_5ferror',['posix_error',['../namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66',1,'llfio_v2_xxx']]],
- ['post',['post',['../classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565',1,'llfio_v2_xxx::io_service']]],
- ['preferred_5fseparator',['preferred_separator',['../classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b',1,'llfio_v2_xxx::path_view_component::preferred_separator()'],['../classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee',1,'llfio_v2_xxx::path_view::preferred_separator()']]],
- ['prefetch',['prefetch',['../classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27',1,'llfio_v2_xxx::map_handle::prefetch(span&lt; buffer_type &gt; regions) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d',1,'llfio_v2_xxx::map_handle::prefetch(buffer_type region) noexcept']]],
- ['prng',['prng',['../structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',1,'llfio_v2_xxx::fast_random_file_handle']]],
- ['push_5fback',['push_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(value_type &amp;&amp;v)']]]
+ ['page_5fallocator_500',['page_allocator',['../classllfio__v2__xxx_1_1utils_1_1page__allocator.html',1,'llfio_v2_xxx::utils']]],
+ ['page_5fallocator_3c_20void_20_3e_501',['page_allocator&lt; void &gt;',['../classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',1,'llfio_v2_xxx::utils']]],
+ ['page_5fsize_502',['page_size',['../classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc',1,'llfio_v2_xxx::map_handle::page_size()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b',1,'llfio_v2_xxx::mapped_file_handle::page_size()'],['../namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba',1,'llfio_v2_xxx::utils::page_size()']]],
+ ['params_5ft_503',['params_t',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]],
+ ['parent_504',['parent',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]],
+ ['parent_5fpath_505',['parent_path',['../classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562',1,'llfio_v2_xxx::path_view']]],
+ ['parent_5fpath_5fhandle_506',['parent_path_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5',1,'llfio_v2_xxx::fs_handle']]],
+ ['path_507',['path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f',1,'llfio_v2_xxx::path_discovery::discovered_path::path()'],['../classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab',1,'llfio_v2_xxx::path_handle::path(const path_handle &amp;base, path_view_type path) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b',1,'llfio_v2_xxx::path_handle::path(path_view_type _path) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d',1,'llfio_v2_xxx::path_view_component::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b',1,'llfio_v2_xxx::symlink_handle::buffers_type::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::path()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::path()'],['../namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b',1,'llfio_v2_xxx::path(const path_handle &amp;base, path_handle::path_view_type path) noexcept'],['../namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c',1,'llfio_v2_xxx::path(path_handle::path_view_type _path) noexcept']]],
+ ['path1_508',['path1',['../structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5',1,'llfio_v2_xxx::error_info']]],
+ ['path2_509',['path2',['../structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38',1,'llfio_v2_xxx::error_info']]],
+ ['path_5fdiscovery_2ehpp_510',['path_discovery.hpp',['../path__discovery_8hpp.html',1,'']]],
+ ['path_5fhandle_511',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html',1,'llfio_v2_xxx::path_handle'],['../classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf',1,'llfio_v2_xxx::path_handle::path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c',1,'llfio_v2_xxx::path_handle::path_handle(native_handle_type h, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e',1,'llfio_v2_xxx::path_handle::path_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df',1,'llfio_v2_xxx::path_handle::path_handle(path_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc',1,'llfio_v2_xxx::path_handle::path_handle(const path_handle &amp;)=delete']]],
+ ['path_5fhandle_2ehpp_512',['path_handle.hpp',['../path__handle_8hpp.html',1,'']]],
+ ['path_5fhasher_513',['path_hasher',['../structllfio__v2__xxx_1_1path__hasher.html',1,'llfio_v2_xxx']]],
+ ['path_5ftype_514',['path_type',['../classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3',1,'llfio_v2_xxx::handle']]],
+ ['path_5fview_515',['path_view',['../classllfio__v2__xxx_1_1path__view.html',1,'llfio_v2_xxx::path_view'],['../classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339',1,'llfio_v2_xxx::path_view::path_view()'],['../classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e',1,'llfio_v2_xxx::path_view::path_view(path_view_component p, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559',1,'llfio_v2_xxx::path_view::path_view(const filesystem::path &amp;v, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc',1,'llfio_v2_xxx::path_view::path_view(const char *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d',1,'llfio_v2_xxx::path_view::path_view(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c',1,'llfio_v2_xxx::path_view::path_view(const char8_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e',1,'llfio_v2_xxx::path_view::path_view(const char16_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e',1,'llfio_v2_xxx::path_view::path_view(const byte *b, size_t l, enum zero_termination zt) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266',1,'llfio_v2_xxx::path_view::path_view(path_view &amp;&amp;o) noexcept=default']]],
+ ['path_5fview_2ehpp_516',['path_view.hpp',['../path__view_8hpp.html',1,'']]],
+ ['path_5fview_5fcomponent_517',['path_view_component',['../classllfio__v2__xxx_1_1path__view__component.html',1,'llfio_v2_xxx::path_view_component'],['../classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142',1,'llfio_v2_xxx::path_view_component::path_view_component() noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5',1,'llfio_v2_xxx::path_view_component::path_view_component(path_view_component p, format fmt) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4',1,'llfio_v2_xxx::path_view_component::path_view_component(const filesystem::path &amp;v, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e',1,'llfio_v2_xxx::path_view_component::path_view_component(const char *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec',1,'llfio_v2_xxx::path_view_component::path_view_component(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878',1,'llfio_v2_xxx::path_view_component::path_view_component(const char8_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3',1,'llfio_v2_xxx::path_view_component::path_view_component(const char16_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af',1,'llfio_v2_xxx::path_view_component::path_view_component(const byte *b, size_t l, enum zero_termination zt) noexcept']]],
+ ['path_5fview_5ftype_518',['path_view_type',['../classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b',1,'llfio_v2_xxx::fs_handle::path_view_type()'],['../classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c',1,'llfio_v2_xxx::path_handle::path_view_type()']]],
+ ['payload_5ft_519',['payload_t',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['pipe_520',['pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pipe_5fcreate_521',['pipe_create',['../classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pipe_5fhandle_522',['pipe_handle',['../classllfio__v2__xxx_1_1pipe__handle.html',1,'llfio_v2_xxx::pipe_handle'],['../classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30',1,'llfio_v2_xxx::pipe_handle::pipe_handle()'],['../classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e',1,'llfio_v2_xxx::pipe_handle::pipe_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85',1,'llfio_v2_xxx::pipe_handle::pipe_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d',1,'llfio_v2_xxx::pipe_handle::pipe_handle(const pipe_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57',1,'llfio_v2_xxx::pipe_handle::pipe_handle(pipe_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575',1,'llfio_v2_xxx::pipe_handle::pipe_handle(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530',1,'llfio_v2_xxx::pipe_handle::pipe_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a',1,'llfio_v2_xxx::pipe_handle::pipe_handle(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347',1,'llfio_v2_xxx::pipe_handle::pipe_handle(io_handle &amp;&amp;o) noexcept']]],
+ ['pipe_5fhandle_2ehpp_523',['pipe_handle.hpp',['../pipe__handle_8hpp.html',1,'']]],
+ ['pipe_5fopen_524',['pipe_open',['../classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pointer_525',['pointer',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027',1,'llfio_v2_xxx::io_multiplexer::buffer_type::pointer()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209',1,'llfio_v2_xxx::mapped::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a',1,'llfio_v2_xxx::symlink_handle::buffers_type::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::pointer()']]],
+ ['pop_5fback_526',['pop_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['posix_5ferror_527',['posix_error',['../namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66',1,'llfio_v2_xxx']]],
+ ['post_5fenumeration_528',['post_enumeration',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d',1,'llfio_v2_xxx::algorithm::contents_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae',1,'llfio_v2_xxx::algorithm::compare_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082',1,'llfio_v2_xxx::algorithm::reduce_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05',1,'llfio_v2_xxx::algorithm::summarize_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937',1,'llfio_v2_xxx::algorithm::traverse_visitor::post_enumeration()']]],
+ ['pre_5fenumeration_529',['pre_enumeration',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39',1,'llfio_v2_xxx::algorithm::traverse_visitor']]],
+ ['preferred_5fseparator_530',['preferred_separator',['../classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b',1,'llfio_v2_xxx::path_view_component']]],
+ ['prefetch_531',['prefetch',['../classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27',1,'llfio_v2_xxx::map_handle::prefetch(span&lt; buffer_type &gt; regions) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d',1,'llfio_v2_xxx::map_handle::prefetch(buffer_type region) noexcept']]],
+ ['private_5fcommitted_532',['private_committed',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['private_5fpaged_5fin_533',['private_paged_in',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['prng_534',['prng',['../structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',1,'llfio_v2_xxx::fast_random_file_handle']]],
+ ['process_5fhandle_535',['process_handle',['../classllfio__v2__xxx_1_1process__handle.html',1,'llfio_v2_xxx::process_handle'],['../classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec',1,'llfio_v2_xxx::process_handle::process_handle()'],['../classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55',1,'llfio_v2_xxx::process_handle::process_handle(native_handle_type h, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67',1,'llfio_v2_xxx::process_handle::process_handle(handle &amp;&amp;o, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c',1,'llfio_v2_xxx::process_handle::process_handle(const process_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e',1,'llfio_v2_xxx::process_handle::process_handle(process_handle &amp;&amp;o) noexcept']]],
+ ['process_5fhandle_2ehpp_536',['process_handle.hpp',['../process__handle_8hpp.html',1,'']]],
+ ['process_5fmemory_5fusage_537',['process_memory_usage',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html',1,'llfio_v2_xxx::utils']]],
+ ['push_5fback_538',['push_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(value_type &amp;&amp;v)']]]
];
diff --git a/search/classes_0.html b/search/classes_0.html
index 1c3e406a..f7e4c14e 100644
--- a/search/classes_0.html
+++ b/search/classes_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_0.js b/search/classes_0.js
index d780963d..63a65493 100644
--- a/search/classes_0.js
+++ b/search/classes_0.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['_5fentity_5fidx',['_entity_idx',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
+ ['_5fbyte_5farray_5fdeleter_745',['_byte_array_deleter',['../structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html',1,'llfio_v2_xxx::process_handle']]],
+ ['_5fentity_5fidx_746',['_entity_idx',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['_5fregistered_5fbuffer_5ftype_747',['_registered_buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['_5fstate_5ftype_748',['_state_type',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['_5fsynchronised_5fio_5foperation_5fstate_749',['_synchronised_io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['_5funsynchronised_5fio_5foperation_5fstate_750',['_unsynchronised_io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer']]]
];
diff --git a/search/classes_1.html b/search/classes_1.html
index a8e70695..c7ff4b31 100644
--- a/search/classes_1.html
+++ b/search/classes_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_1.js b/search/classes_1.js
index c8aca05e..0c0ace15 100644
--- a/search/classes_1.js
+++ b/search/classes_1.js
@@ -1,7 +1,6 @@
var searchData=
[
- ['async_5ffile_5fhandle',['async_file_handle',['../classllfio__v2__xxx_1_1async__file__handle.html',1,'llfio_v2_xxx']]],
- ['atomic_5fappend',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['awaitable',['awaitable',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html',1,'llfio_v2_xxx::async_file_handle']]],
- ['awaitable_5fpost_5fto_5fself',['awaitable_post_to_self',['../structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html',1,'llfio_v2_xxx::io_service']]]
+ ['atomic_5fappend_751',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['awaitable_752',['awaitable',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['awaitable_5fhandle_753',['awaitable_handle',['../classllfio__v2__xxx_1_1awaitable__handle.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_10.html b/search/classes_10.html
new file mode 100644
index 00000000..abf37f53
--- /dev/null
+++ b/search/classes_10.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/classes_10.js b/search/classes_10.js
new file mode 100644
index 00000000..3aeef3f4
--- /dev/null
+++ b/search/classes_10.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['unique_5ffile_5flock_868',['unique_file_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html',1,'llfio_v2_xxx']]]
+];
diff --git a/search/classes_11.html b/search/classes_11.html
new file mode 100644
index 00000000..29283b0f
--- /dev/null
+++ b/search/classes_11.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/classes_11.js b/search/classes_11.js
new file mode 100644
index 00000000..cc703f45
--- /dev/null
+++ b/search/classes_11.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['work_5fitem_869',['work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['write_5fparams_5ft_870',['write_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['write_5freceiver_871',['write_receiver',['../classllfio__v2__xxx_1_1write__receiver.html',1,'llfio_v2_xxx']]]
+];
diff --git a/search/classes_2.html b/search/classes_2.html
index 5c09c969..0d1e8a0c 100644
--- a/search/classes_2.html
+++ b/search/classes_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_2.js b/search/classes_2.js
index 2f374fd3..4b0f7fe1 100644
--- a/search/classes_2.js
+++ b/search/classes_2.js
@@ -1,8 +1,9 @@
var searchData=
[
- ['basic_5fkey_5fvalue_5fstore',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html',1,'kvstore_v1_xxx']]],
- ['basic_5fkey_5fvalue_5fstore_5finfo',['basic_key_value_store_info',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html',1,'kvstore_v1_xxx']]],
- ['buffer_5ftype',['buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html',1,'llfio_v2_xxx::io_handle']]],
- ['buffers_5ftype',['buffers_type',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',1,'llfio_v2_xxx::directory_handle::buffers_type'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',1,'llfio_v2_xxx::symlink_handle::buffers_type']]],
- ['byte_5franges',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]]
+ ['barrier_5fparams_5ft_754',['barrier_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['basic_5fkey_5fvalue_5fstore_755',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html',1,'kvstore_v1_xxx']]],
+ ['basic_5fkey_5fvalue_5fstore_5finfo_756',['basic_key_value_store_info',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html',1,'kvstore_v1_xxx']]],
+ ['buffer_5ftype_757',['buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['buffers_5ftype_758',['buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',1,'llfio_v2_xxx::symlink_handle::buffers_type'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
+ ['byte_5franges_759',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]]
];
diff --git a/search/classes_3.html b/search/classes_3.html
index 5faaeba8..21025456 100644
--- a/search/classes_3.html
+++ b/search/classes_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_3.js b/search/classes_3.js
index acd6fc78..9472639b 100644
--- a/search/classes_3.js
+++ b/search/classes_3.js
@@ -1,18 +1,23 @@
var searchData=
[
- ['cached_5fparent_5fhandle_5fadapter',['cached_parent_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
- ['combining_5fhandle_5fadapter',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
- ['const_5fbuffer_5ftype',['const_buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html',1,'llfio_v2_xxx::io_handle']]],
- ['const_5fbuffers_5ftype',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',1,'llfio_v2_xxx::symlink_handle']]],
- ['construct',['construct',['../structllfio__v2__xxx_1_1construct.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20algorithm_3a_3acached_5fparent_5fhandle_5fadapter_3c_20t_20_3e_20_3e',['construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;',['../structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20async_5ffile_5fhandle_20_3e',['construct&lt; async_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20directory_5fhandle_20_3e',['construct&lt; directory_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20fast_5frandom_5ffile_5fhandle_20_3e',['construct&lt; fast_random_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20file_5fhandle_20_3e',['construct&lt; file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20map_5fhandle_20_3e',['construct&lt; map_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20mapped_5ffile_5fhandle_20_3e',['construct&lt; mapped_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20path_5fhandle_20_3e',['construct&lt; path_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20section_5fhandle_20_3e',['construct&lt; section_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['construct_3c_20symlink_5fhandle_20_3e',['construct&lt; symlink_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',1,'llfio_v2_xxx']]]
+ ['cached_5fparent_5fhandle_5fadapter_760',['cached_parent_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
+ ['check_5ffor_5fany_5fcompleted_5fio_5fstatistics_761',['check_for_any_completed_io_statistics',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['combining_5fhandle_5fadapter_762',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html',1,'llfio_v2_xxx::algorithm']]],
+ ['compare_5fvisitor_763',['compare_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['const_5fbuffer_5ftype_764',['const_buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['const_5fbuffers_5ftype_765',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',1,'llfio_v2_xxx::symlink_handle']]],
+ ['construct_766',['construct',['../structllfio__v2__xxx_1_1construct.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20algorithm_3a_3acached_5fparent_5fhandle_5fadapter_3c_20t_20_3e_20_3e_767',['construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;',['../structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20directory_5fhandle_20_3e_768',['construct&lt; directory_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20fast_5frandom_5ffile_5fhandle_20_3e_769',['construct&lt; fast_random_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20file_5fhandle_20_3e_770',['construct&lt; file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20map_5fhandle_20_3e_771',['construct&lt; map_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20mapped_5ffile_5fhandle_20_3e_772',['construct&lt; mapped_file_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20path_5fhandle_20_3e_773',['construct&lt; path_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20pipe_5fhandle_20_3e_774',['construct&lt; pipe_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20process_5fhandle_20_3e_775',['construct&lt; process_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20section_5fhandle_20_3e_776',['construct&lt; section_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['construct_3c_20symlink_5fhandle_20_3e_777',['construct&lt; symlink_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',1,'llfio_v2_xxx']]],
+ ['contents_5ftype_778',['contents_type',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5fvisitor_779',['contents_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html',1,'llfio_v2_xxx::algorithm']]]
];
diff --git a/search/classes_4.html b/search/classes_4.html
index b3f11bc7..095ab595 100644
--- a/search/classes_4.html
+++ b/search/classes_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_4.js b/search/classes_4.js
index 2fc97f91..8892066e 100644
--- a/search/classes_4.js
+++ b/search/classes_4.js
@@ -1,9 +1,11 @@
var searchData=
[
- ['deadline',['deadline',['../structllfio__v2__xxx_1_1deadline.html',1,'llfio_v2_xxx']]],
- ['directory_5fentry',['directory_entry',['../structllfio__v2__xxx_1_1directory__entry.html',1,'llfio_v2_xxx']]],
- ['directory_5fhandle',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html',1,'llfio_v2_xxx']]],
- ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amap_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',1,'in_place_attach_detach::traits']]],
- ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amapped_5ffile_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',1,'in_place_attach_detach::traits']]],
- ['discovered_5fpath',['discovered_path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',1,'llfio_v2_xxx::path_discovery']]]
+ ['deadline_780',['deadline',['../structllfio__v2__xxx_1_1deadline.html',1,'llfio_v2_xxx']]],
+ ['difference_5fitem_781',['difference_item',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html',1,'llfio_v2_xxx::algorithm']]],
+ ['directory_5fentry_782',['directory_entry',['../structllfio__v2__xxx_1_1directory__entry.html',1,'llfio_v2_xxx']]],
+ ['directory_5fhandle_783',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html',1,'llfio_v2_xxx']]],
+ ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amap_5fhandle_20_3e_784',['disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',1,'in_place_attach_detach::traits']]],
+ ['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amapped_5ffile_5fhandle_20_3e_785',['disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',1,'in_place_attach_detach::traits']]],
+ ['discovered_5fpath_786',['discovered_path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',1,'llfio_v2_xxx::path_discovery']]],
+ ['dynamic_5fthread_5fpool_5fgroup_787',['dynamic_thread_pool_group',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_5.html b/search/classes_5.html
index 952ace6f..fc9cdc99 100644
--- a/search/classes_5.html
+++ b/search/classes_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_5.js b/search/classes_5.js
index 38814433..6d7c057c 100644
--- a/search/classes_5.js
+++ b/search/classes_5.js
@@ -1,8 +1,10 @@
var searchData=
[
- ['entities_5fguard',['entities_guard',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entity_5ftype',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['error',['error',['../classllfio__v2__xxx_1_1error.html',1,'llfio_v2_xxx']]],
- ['error_5finfo',['error_info',['../structllfio__v2__xxx_1_1error__info.html',1,'llfio_v2_xxx']]],
- ['extent_5fguard',['extent_guard',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html',1,'llfio_v2_xxx::file_handle']]]
+ ['entities_5fguard_788',['entities_guard',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entity_5ftype_789',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['error_790',['error',['../classllfio__v2__xxx_1_1error.html',1,'llfio_v2_xxx']]],
+ ['error_5finfo_791',['error_info',['../structllfio__v2__xxx_1_1error__info.html',1,'llfio_v2_xxx']]],
+ ['executor_792',['executor',['../classllfio__v2__xxx_1_1executor.html',1,'llfio_v2_xxx']]],
+ ['extent_5fguard_793',['extent_guard',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['extent_5fpair_794',['extent_pair',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html',1,'llfio_v2_xxx::file_handle']]]
];
diff --git a/search/classes_6.html b/search/classes_6.html
index 75eef9f4..1ecfdddf 100644
--- a/search/classes_6.html
+++ b/search/classes_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_6.js b/search/classes_6.js
index 72aa2a02..a2b0cc2c 100644
--- a/search/classes_6.js
+++ b/search/classes_6.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['f_5fflags_5ft',['f_flags_t',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',1,'llfio_v2_xxx::statfs_t']]],
- ['fast_5frandom_5ffile_5fhandle',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html',1,'llfio_v2_xxx']]],
- ['file_5fhandle',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html',1,'llfio_v2_xxx']]],
- ['fs_5fhandle',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html',1,'llfio_v2_xxx']]]
+ ['f_5fflags_5ft_795',['f_flags_t',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',1,'llfio_v2_xxx::statfs_t']]],
+ ['fast_5frandom_5ffile_5fhandle_796',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html',1,'llfio_v2_xxx']]],
+ ['file_5fhandle_797',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html',1,'llfio_v2_xxx']]],
+ ['fs_5fhandle_798',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_7.html b/search/classes_7.html
index 745f5f28..0fc6fc3e 100644
--- a/search/classes_7.html
+++ b/search/classes_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_7.js b/search/classes_7.js
index 80e092f2..cd779000 100644
--- a/search/classes_7.js
+++ b/search/classes_7.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['handle',['handle',['../classllfio__v2__xxx_1_1handle.html',1,'llfio_v2_xxx']]]
+ ['handle_799',['handle',['../classllfio__v2__xxx_1_1handle.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_8.html b/search/classes_8.html
index 5a443d9d..ac8af7dc 100644
--- a/search/classes_8.html
+++ b/search/classes_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_8.js b/search/classes_8.js
index 47fff4c0..a9c602cd 100644
--- a/search/classes_8.js
+++ b/search/classes_8.js
@@ -1,23 +1,29 @@
var searchData=
[
- ['io_5fhandle',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html',1,'llfio_v2_xxx']]],
- ['io_5frequest',['io_request',['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',1,'llfio_v2_xxx::directory_handle::io_request&lt; class &gt;'],['../structllfio__v2__xxx_1_1io__handle_1_1io__request.html',1,'llfio_v2_xxx::io_handle::io_request&lt; T &gt;'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html',1,'llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;']]],
- ['io_5frequest_3c_20buffers_5ftype_2c_20_5f_5f_5f_5f_20_3e',['io_request&lt; buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
- ['io_5frequest_3c_20const_5fbuffers_5ftype_2c_20_5f_5f_5f_5f_20_3e',['io_request&lt; const_buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
- ['io_5fresult',['io_result',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle']]],
- ['io_5fresult_3c_20buffers_5ftype_20_3e',['io_result&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle']]],
- ['io_5fresult_3c_20const_5fbuffers_5ftype_20_3e',['io_result&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html',1,'llfio_v2_xxx::io_handle']]],
- ['io_5fservice',['io_service',['../classllfio__v2__xxx_1_1io__service.html',1,'llfio_v2_xxx']]],
- ['is_5fattachable',['is_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5fdetachable',['is_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5ftrivially_5fattachable',['is_trivially_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',1,'kvstore_v1_xxx::traits']]],
- ['is_5ftrivially_5fdetachable',['is_trivially_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',1,'kvstore_v1_xxx::traits']]],
- ['item',['item',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20float_20_3e',['item&lt; float &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20io_5fservice_3a_3aextent_5ftype_20_3e',['item&lt; io_service::extent_type &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20std_3a_3astring_20_3e',['item&lt; std::string &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20unsigned_20_3e',['item&lt; unsigned &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_3c_20unsigned_20long_20long_20_3e',['item&lt; unsigned long long &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_5fbase',['item_base',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',1,'llfio_v2_xxx::storage_profile']]],
- ['item_5ferased',['item_erased',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',1,'llfio_v2_xxx::storage_profile']]]
+ ['io_5faware_5fwork_5fitem_800',['io_aware_work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['io_5fhandle_801',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html',1,'llfio_v2_xxx']]],
+ ['io_5fhandle_5fawareness_802',['io_handle_awareness',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['io_5fmultiplexer_803',['io_multiplexer',['../classllfio__v2__xxx_1_1io__multiplexer.html',1,'llfio_v2_xxx']]],
+ ['io_5foperation_5fstate_804',['io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5foperation_5fstate_5fvisitor_805',['io_operation_state_visitor',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_806',['io_request',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html',1,'llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;'],['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',1,'llfio_v2_xxx::directory_handle::io_request&lt; class &gt;'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;']]],
+ ['io_5frequest_3c_20buffers_5ftype_20_3e_807',['io_request&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_3c_20buffers_5ftype_2c_20_5f_5f_5f_5f_20_3e_808',['io_request&lt; buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
+ ['io_5frequest_3c_20const_5fbuffers_5ftype_20_3e_809',['io_request&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5frequest_3c_20const_5fbuffers_5ftype_2c_20_5f_5f_5f_5f_20_3e_810',['io_request&lt; const_buffers_type, ____ &gt;',['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',1,'llfio_v2_xxx::symlink_handle']]],
+ ['io_5fresult_811',['io_result',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5fresult_3c_20buffers_5ftype_20_3e_812',['io_result&lt; buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['io_5fresult_3c_20const_5fbuffers_5ftype_20_3e_813',['io_result&lt; const_buffers_type &gt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['is_5fattachable_814',['is_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5fdetachable_815',['is_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5ftrivially_5fattachable_816',['is_trivially_attachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['is_5ftrivially_5fdetachable_817',['is_trivially_detachable',['../structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',1,'kvstore_v1_xxx::traits']]],
+ ['item_818',['item',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20float_20_3e_819',['item&lt; float &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20io_5fhandle_3a_3aextent_5ftype_20_3e_820',['item&lt; io_handle::extent_type &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20std_3a_3astring_20_3e_821',['item&lt; std::string &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20unsigned_20_3e_822',['item&lt; unsigned &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_3c_20unsigned_20long_20long_20_3e_823',['item&lt; unsigned long long &gt;',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_5fbase_824',['item_base',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['item_5ferased_825',['item_erased',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',1,'llfio_v2_xxx::storage_profile']]]
];
diff --git a/search/classes_9.html b/search/classes_9.html
index 9cb55be4..86cad046 100644
--- a/search/classes_9.html
+++ b/search/classes_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_9.js b/search/classes_9.js
index 6b238247..ebe04060 100644
--- a/search/classes_9.js
+++ b/search/classes_9.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['lock_5ffiles',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['log_5flevel_5fguard',['log_level_guard',['../classllfio__v2__xxx_1_1log__level__guard.html',1,'llfio_v2_xxx']]]
+ ['lock_5ffiles_826',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['lock_5fguard_827',['lock_guard',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html',1,'llfio_v2_xxx::io_multiplexer::io_operation_state']]],
+ ['lockable_5fio_5fhandle_828',['lockable_io_handle',['../classllfio__v2__xxx_1_1lockable__io__handle.html',1,'llfio_v2_xxx']]],
+ ['log_5flevel_5fguard_829',['log_level_guard',['../classllfio__v2__xxx_1_1log__level__guard.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_a.html b/search/classes_a.html
index 54940d78..4201e97e 100644
--- a/search/classes_a.html
+++ b/search/classes_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_a.js b/search/classes_a.js
index 808a0617..78523ccf 100644
--- a/search/classes_a.js
+++ b/search/classes_a.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['map_5fhandle',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html',1,'llfio_v2_xxx']]],
- ['mapped',['mapped',['../classllfio__v2__xxx_1_1mapped.html',1,'llfio_v2_xxx']]],
- ['mapped_5ffile_5fhandle',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html',1,'llfio_v2_xxx']]],
- ['memory_5fmap',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]]
+ ['map_5fhandle_830',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html',1,'llfio_v2_xxx']]],
+ ['mapped_831',['mapped',['../classllfio__v2__xxx_1_1mapped.html',1,'llfio_v2_xxx']]],
+ ['mapped_5ffile_5fhandle_832',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html',1,'llfio_v2_xxx']]],
+ ['memory_5fmap_833',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]]
];
diff --git a/search/classes_b.html b/search/classes_b.html
index 6071ae04..f88a5780 100644
--- a/search/classes_b.html
+++ b/search/classes_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_b.js b/search/classes_b.js
index 60b146a7..7e0232d9 100644
--- a/search/classes_b.js
+++ b/search/classes_b.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['native_5fhandle_5ftype',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html',1,'llfio_v2_xxx']]]
+ ['native_5fhandle_5ftype_834',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html',1,'llfio_v2_xxx']]],
+ ['noncompleted_5ft_835',['noncompleted_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]]
];
diff --git a/search/classes_c.html b/search/classes_c.html
index 6cf1d008..fa0cf4d6 100644
--- a/search/classes_c.html
+++ b/search/classes_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_c.js b/search/classes_c.js
index ef0ff9b0..6207f7c6 100644
--- a/search/classes_c.js
+++ b/search/classes_c.js
@@ -1,10 +1,15 @@
var searchData=
[
- ['page_5fallocator',['page_allocator',['../classllfio__v2__xxx_1_1utils_1_1page__allocator.html',1,'llfio_v2_xxx::utils']]],
- ['page_5fallocator_3c_20void_20_3e',['page_allocator&lt; void &gt;',['../classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',1,'llfio_v2_xxx::utils']]],
- ['path_5fhandle',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html',1,'llfio_v2_xxx']]],
- ['path_5fhasher',['path_hasher',['../structllfio__v2__xxx_1_1path__hasher.html',1,'llfio_v2_xxx']]],
- ['path_5fview',['path_view',['../classllfio__v2__xxx_1_1path__view.html',1,'llfio_v2_xxx']]],
- ['path_5fview_5fcomponent',['path_view_component',['../classllfio__v2__xxx_1_1path__view__component.html',1,'llfio_v2_xxx']]],
- ['prng',['prng',['../structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',1,'llfio_v2_xxx::fast_random_file_handle']]]
+ ['page_5fallocator_836',['page_allocator',['../classllfio__v2__xxx_1_1utils_1_1page__allocator.html',1,'llfio_v2_xxx::utils']]],
+ ['page_5fallocator_3c_20void_20_3e_837',['page_allocator&lt; void &gt;',['../classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',1,'llfio_v2_xxx::utils']]],
+ ['params_5ft_838',['params_t',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]],
+ ['path_5fhandle_839',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html',1,'llfio_v2_xxx']]],
+ ['path_5fhasher_840',['path_hasher',['../structllfio__v2__xxx_1_1path__hasher.html',1,'llfio_v2_xxx']]],
+ ['path_5fview_841',['path_view',['../classllfio__v2__xxx_1_1path__view.html',1,'llfio_v2_xxx']]],
+ ['path_5fview_5fcomponent_842',['path_view_component',['../classllfio__v2__xxx_1_1path__view__component.html',1,'llfio_v2_xxx']]],
+ ['payload_5ft_843',['payload_t',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['pipe_5fhandle_844',['pipe_handle',['../classllfio__v2__xxx_1_1pipe__handle.html',1,'llfio_v2_xxx']]],
+ ['prng_845',['prng',['../structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',1,'llfio_v2_xxx::fast_random_file_handle']]],
+ ['process_5fhandle_846',['process_handle',['../classllfio__v2__xxx_1_1process__handle.html',1,'llfio_v2_xxx']]],
+ ['process_5fmemory_5fusage_847',['process_memory_usage',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/classes_d.html b/search/classes_d.html
index d4a7ed7a..0b6b1371 100644
--- a/search/classes_d.html
+++ b/search/classes_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_d.js b/search/classes_d.js
index fcb8b4a1..e80bbd31 100644
--- a/search/classes_d.js
+++ b/search/classes_d.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['rebind',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;']]],
- ['result_5fstorage',['result_storage',['../unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html',1,'llfio_v2_xxx::async_file_handle::_erased_io_state_type']]]
+ ['read_5fparams_5ft_848',['read_params_t',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t']]],
+ ['read_5freceiver_849',['read_receiver',['../classllfio__v2__xxx_1_1read__receiver.html',1,'llfio_v2_xxx']]],
+ ['rebind_850',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind']]],
+ ['reduce_5fvisitor_851',['reduce_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html',1,'llfio_v2_xxx::algorithm']]]
];
diff --git a/search/classes_e.html b/search/classes_e.html
index 9a9f48c3..2e42779f 100644
--- a/search/classes_e.html
+++ b/search/classes_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_e.js b/search/classes_e.js
index 90cf6a87..fd088d97 100644
--- a/search/classes_e.js
+++ b/search/classes_e.js
@@ -1,10 +1,11 @@
var searchData=
[
- ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx']]],
- ['shared_5ffs_5fmutex',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx']]],
- ['statfs_5ft',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx']]],
- ['storage_5fprofile',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
- ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx']]]
+ ['safe_5fbyte_5franges_852',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['section_5fhandle_853',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx']]],
+ ['shared_5ffs_5fmutex_854',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['stat_5ft_855',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx']]],
+ ['statfs_5ft_856',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx']]],
+ ['storage_5fprofile_857',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['summarize_5fvisitor_858',['summarize_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['symlink_5fhandle_859',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/classes_f.html b/search/classes_f.html
index a128d60b..e664ccd8 100644
--- a/search/classes_f.html
+++ b/search/classes_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/classes_f.js b/search/classes_f.js
index a734dc0e..b7c9f09b 100644
--- a/search/classes_f.js
+++ b/search/classes_f.js
@@ -1,9 +1,11 @@
var searchData=
[
- ['transaction',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['trivial_5fvector',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
- ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fiterator',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]]
+ ['transaction_860',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['traversal_5fsummary_861',['traversal_summary',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html',1,'llfio_v2_xxx::algorithm']]],
+ ['traverse_5fvisitor_862',['traverse_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_863',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_5fimpl_864',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e_865',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e_866',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fiterator_867',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]]
];
diff --git a/search/defines_0.html b/search/defines_0.html
index 5b252045..2deb369f 100644
--- a/search/defines_0.html
+++ b/search/defines_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="defines_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/defines_0.js b/search/defines_0.js
index b88bc39c..f9c9ee6d 100644
--- a/search/defines_0.js
+++ b/search/defines_0.js
@@ -1,13 +1,13 @@
var searchData=
[
- ['llfio_5fcompile_5fkqueues',['LLFIO_COMPILE_KQUEUES',['../io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8',1,'io_service.hpp']]],
- ['llfio_5fdisable_5fpaths_5fin_5ffailure_5finfo',['LLFIO_DISABLE_PATHS_IN_FAILURE_INFO',['../config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a',1,'config.hpp']]],
- ['llfio_5fexperimental_5fstatus_5fcode',['LLFIO_EXPERIMENTAL_STATUS_CODE',['../config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559',1,'config.hpp']]],
- ['llfio_5fhave_5frealtime_5fsignals',['LLFIO_HAVE_REALTIME_SIGNALS',['../io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773',1,'io_service.hpp']]],
- ['llfio_5fheaders_5fpath',['LLFIO_HEADERS_PATH',['../llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65',1,'llfio.hpp']]],
- ['llfio_5fio_5fpost_5fsignal',['LLFIO_IO_POST_SIGNAL',['../io__service_8hpp.html#af5cfb661784f372559747708772b9106',1,'io_service.hpp']]],
- ['llfio_5flog_5fto_5fostream',['LLFIO_LOG_TO_OSTREAM',['../config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d',1,'config.hpp']]],
- ['llfio_5fmodule_5fname',['LLFIO_MODULE_NAME',['../v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87',1,'llfio.hpp']]],
- ['llfio_5fnamespace_5fversion',['LLFIO_NAMESPACE_VERSION',['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;llfio.hpp']]],
- ['llfio_5fuse_5fposix_5faio',['LLFIO_USE_POSIX_AIO',['../io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280',1,'io_service.hpp']]]
+ ['llfio_5fdeadline_5fto_5fpartial_5fdeadline_1528',['LLFIO_DEADLINE_TO_PARTIAL_DEADLINE',['../deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5fpartial_5ftimeout_1529',['LLFIO_DEADLINE_TO_PARTIAL_TIMEOUT',['../deadline_8h.html#a93c83aa94fad67aa1289d8a2b2d6ed00',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5fsleep_5finit_1530',['LLFIO_DEADLINE_TO_SLEEP_INIT',['../deadline_8h.html#adf76463290984016fdbe2ac4c7c514e4',1,'deadline.h']]],
+ ['llfio_5fdeadline_5fto_5ftimeout_5floop_1531',['LLFIO_DEADLINE_TO_TIMEOUT_LOOP',['../deadline_8h.html#add774fdf81fd7e573d42a43fe55757ba',1,'deadline.h']]],
+ ['llfio_5fdisable_5fpaths_5fin_5ffailure_5finfo_1532',['LLFIO_DISABLE_PATHS_IN_FAILURE_INFO',['../config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a',1,'config.hpp']]],
+ ['llfio_5fexperimental_5fstatus_5fcode_1533',['LLFIO_EXPERIMENTAL_STATUS_CODE',['../config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559',1,'config.hpp']]],
+ ['llfio_5fheaders_5fpath_1534',['LLFIO_HEADERS_PATH',['../llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65',1,'llfio.hpp']]],
+ ['llfio_5flog_5fto_5fostream_1535',['LLFIO_LOG_TO_OSTREAM',['../config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d',1,'config.hpp']]],
+ ['llfio_5fmodule_5fname_1536',['LLFIO_MODULE_NAME',['../v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87',1,'llfio.hpp']]],
+ ['llfio_5fnamespace_5fversion_1537',['LLFIO_NAMESPACE_VERSION',['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;version.hpp'],['../v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160',1,'LLFIO_NAMESPACE_VERSION():&#160;llfio.hpp']]]
];
diff --git a/search/enums_0.html b/search/enums_0.html
index ee343ac0..9669700a 100644
--- a/search/enums_0.html
+++ b/search/enums_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_0.js b/search/enums_0.js
index f18ee33e..6259f457 100644
--- a/search/enums_0.js
+++ b/search/enums_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['barrier_5fkind',['barrier_kind',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565',1,'llfio_v2_xxx::io_handle']]]
+ ['barrier_5fkind_1451',['barrier_kind',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26',1,'llfio_v2_xxx::io_multiplexer']]]
];
diff --git a/search/enums_1.html b/search/enums_1.html
index 3fd210a0..dfec174d 100644
--- a/search/enums_1.html
+++ b/search/enums_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_1.js b/search/enums_1.js
index 82c6fc9d..43acf7c2 100644
--- a/search/enums_1.js
+++ b/search/enums_1.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['caching',['caching',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852',1,'llfio_v2_xxx::handle']]],
- ['creation',['creation',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42',1,'llfio_v2_xxx::handle']]]
+ ['caching_1452',['caching',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852',1,'llfio_v2_xxx::handle']]],
+ ['change_5ft_1453',['change_t',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['creation_1454',['creation',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enums_2.html b/search/enums_2.html
index a042e520..db70c366 100644
--- a/search/enums_2.html
+++ b/search/enums_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_2.js b/search/enums_2.js
index cf5fe8a5..50a01fd7 100644
--- a/search/enums_2.js
+++ b/search/enums_2.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['filter',['filter',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207',1,'llfio_v2_xxx::directory_handle']]]
+ ['filter_1455',['filter',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207',1,'llfio_v2_xxx::directory_handle']]],
+ ['format_1456',['format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/enums_3.html b/search/enums_3.html
index 265e0cb9..fb7ec176 100644
--- a/search/enums_3.html
+++ b/search/enums_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_3.js b/search/enums_3.js
index c89793b6..8bf59bf8 100644
--- a/search/enums_3.js
+++ b/search/enums_3.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['kvstore_5ferrc',['kvstore_errc',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5f',1,'kvstore_v1_xxx']]]
+ ['io_5foperation_5fstate_5ftype_1457',['io_operation_state_type',['../namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745',1,'llfio_v2_xxx']]]
];
diff --git a/search/enums_4.html b/search/enums_4.html
index 97ee07fb..b8b51ef8 100644
--- a/search/enums_4.html
+++ b/search/enums_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_4.js b/search/enums_4.js
index db6e33bd..91a339a0 100644
--- a/search/enums_4.js
+++ b/search/enums_4.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['lock_5fkind',['lock_kind',['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63',1,'llfio_v2_xxx::file_handle']]]
+ ['kvstore_5ferrc_1458',['kvstore_errc',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5f',1,'kvstore_v1_xxx']]]
];
diff --git a/search/enums_5.html b/search/enums_5.html
index f837d25f..d39b033a 100644
--- a/search/enums_5.html
+++ b/search/enums_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_5.js b/search/enums_5.js
index 08892051..f5299698 100644
--- a/search/enums_5.js
+++ b/search/enums_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['mode',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle']]]
+ ['lock_5fkind_1459',['lock_kind',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33',1,'llfio_v2_xxx']]]
];
diff --git a/search/enums_6.html b/search/enums_6.html
index 56491ab5..7dd141e9 100644
--- a/search/enums_6.html
+++ b/search/enums_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enums_6.js b/search/enums_6.js
index 36feb6f0..c4b4b252 100644
--- a/search/enums_6.js
+++ b/search/enums_6.js
@@ -1,6 +1,4 @@
var searchData=
[
- ['source_5ftype',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['storage_5ftypes',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
- ['symlink_5ftype',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]]
+ ['mode_1460',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enums_7.html b/search/enums_7.html
new file mode 100644
index 00000000..2836f52e
--- /dev/null
+++ b/search/enums_7.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enums_7.js b/search/enums_7.js
new file mode 100644
index 00000000..c3aa8fd2
--- /dev/null
+++ b/search/enums_7.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['source_5ftype_1461',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['storage_5ftypes_1462',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
+ ['symlink_5ftype_1463',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]]
+];
diff --git a/search/enums_8.html b/search/enums_8.html
new file mode 100644
index 00000000..cf04f764
--- /dev/null
+++ b/search/enums_8.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enums_8.js b/search/enums_8.js
new file mode 100644
index 00000000..90f3e155
--- /dev/null
+++ b/search/enums_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['win32_5fpath_5fnamespace_1464',['win32_path_namespace',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89a',1,'llfio_v2_xxx']]]
+];
diff --git a/search/enums_9.html b/search/enums_9.html
new file mode 100644
index 00000000..cb330655
--- /dev/null
+++ b/search/enums_9.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enums_9.js b/search/enums_9.js
new file mode 100644
index 00000000..f1100d0e
--- /dev/null
+++ b/search/enums_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['zero_5ftermination_1465',['zero_termination',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e',1,'llfio_v2_xxx::path_view_component']]]
+];
diff --git a/search/enumvalues_0.html b/search/enumvalues_0.html
index 9387b6a3..92862489 100644
--- a/search/enumvalues_0.html
+++ b/search/enumvalues_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js
index 96503d06..49229a00 100644
--- a/search/enumvalues_0.js
+++ b/search/enumvalues_0.js
@@ -1,8 +1,10 @@
var searchData=
[
- ['all',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
- ['always_5fnew',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
- ['append',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
- ['attr_5fread',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
- ['attr_5fwrite',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]]
+ ['all_1466',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
+ ['always_5fnew_1467',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
+ ['any_1468',['any',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa100b8cad7cf2a56f6df78f171f97a1ec',1,'llfio_v2_xxx']]],
+ ['append_1469',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
+ ['attr_5fread_1470',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
+ ['attr_5fwrite_1471',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]],
+ ['auto_5fformat_1472',['auto_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/enumvalues_1.html b/search/enumvalues_1.html
index f622aba9..e22a79fb 100644
--- a/search/enumvalues_1.html
+++ b/search/enumvalues_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js
index 09ace53d..62fd4b70 100644
--- a/search/enumvalues_1.js
+++ b/search/enumvalues_1.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['environment',['environment',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['exclusive',['exclusive',['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63aa4293995cfbfa9ce60ce71ade2ff75f7',1,'llfio_v2_xxx::file_handle']]]
+ ['binary_5fformat_1473',['binary_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/enumvalues_10.html b/search/enumvalues_10.html
new file mode 100644
index 00000000..7107c3d7
--- /dev/null
+++ b/search/enumvalues_10.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_10.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enumvalues_10.js b/search/enumvalues_10.js
new file mode 100644
index 00000000..461b421c
--- /dev/null
+++ b/search/enumvalues_10.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['wait_5fall_1519',['wait_all',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['wait_5fdata_5fonly_1520',['wait_data_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['wait_5fview_5fonly_1521',['wait_view_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26aaa8388b23ccb35c9893a9d44e1d2f54c',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['win_5fjunction_1522',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
+ ['win_5fwsl_1523',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
+ ['write_1524',['write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle']]]
+];
diff --git a/search/enumvalues_11.html b/search/enumvalues_11.html
new file mode 100644
index 00000000..aab485d3
--- /dev/null
+++ b/search/enumvalues_11.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enumvalues_11.js b/search/enumvalues_11.js
new file mode 100644
index 00000000..e9ffb4f1
--- /dev/null
+++ b/search/enumvalues_11.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['zero_5fterminated_1525',['zero_terminated',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6',1,'llfio_v2_xxx::path_view_component']]]
+];
diff --git a/search/enumvalues_2.html b/search/enumvalues_2.html
index d4990784..01a77bf7 100644
--- a/search/enumvalues_2.html
+++ b/search/enumvalues_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js
index c0d0c39c..4bee63a2 100644
--- a/search/enumvalues_2.js
+++ b/search/enumvalues_2.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['fastdeleted',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]]
+ ['content_5fmetadata_5fchanged_1474',['content_metadata_changed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd',1,'llfio_v2_xxx::algorithm::difference_item']]]
];
diff --git a/search/enumvalues_3.html b/search/enumvalues_3.html
index b4fc3ee8..4e761d60 100644
--- a/search/enumvalues_3.html
+++ b/search/enumvalues_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js
index 9605e9a5..c1dc06e4 100644
--- a/search/enumvalues_3.js
+++ b/search/enumvalues_3.js
@@ -1,4 +1,8 @@
var searchData=
[
- ['hardcoded',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['device_1475',['device',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa913f9c49dcb544e2087cee284f4a00b7',1,'llfio_v2_xxx']]],
+ ['directory_5fadded_1476',['directory_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['directory_5fremoved_1477',['directory_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['directory_5frenamed_1478',['directory_renamed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['dos_1479',['dos',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aa0196f6c4f97df3f48d570c23e46501ae',1,'llfio_v2_xxx']]]
];
diff --git a/search/enumvalues_4.html b/search/enumvalues_4.html
index d6f69ac9..e2977a05 100644
--- a/search/enumvalues_4.html
+++ b/search/enumvalues_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js
index 3230229e..f7ce6f01 100644
--- a/search/enumvalues_4.js
+++ b/search/enumvalues_4.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['if_5fneeded',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
- ['invalid_5furi',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]]
+ ['environment_1480',['environment',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['exclusive_1481',['exclusive',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33aa4293995cfbfa9ce60ce71ade2ff75f7',1,'llfio_v2_xxx']]]
];
diff --git a/search/enumvalues_5.html b/search/enumvalues_5.html
index 43a28d17..eabdd4be 100644
--- a/search/enumvalues_5.html
+++ b/search/enumvalues_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js
index b48c6ab9..ff9de928 100644
--- a/search/enumvalues_5.js
+++ b/search/enumvalues_5.js
@@ -1,4 +1,8 @@
var searchData=
[
- ['local',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['fastdeleted_1482',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]],
+ ['file_5fadded_1483',['file_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5flinked_1484',['file_linked',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5fremoved_1485',['file_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['file_5frenamed_1486',['file_renamed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9',1,'llfio_v2_xxx::algorithm::difference_item']]]
];
diff --git a/search/enumvalues_6.html b/search/enumvalues_6.html
index 7439ee17..24764919 100644
--- a/search/enumvalues_6.html
+++ b/search/enumvalues_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js
index 52600a64..0a90deff 100644
--- a/search/enumvalues_6.js
+++ b/search/enumvalues_6.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['none',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
- ['nowait_5fall',['nowait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_handle']]],
- ['nowait_5fdata_5fonly',['nowait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_handle']]]
+ ['generic_5fformat_1487',['generic_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455',1,'llfio_v2_xxx::path_view_component']]],
+ ['guid_5fvolume_1488',['guid_volume',['../namespacellfio__v2__xxx.html#abcb445e5dfcc0eb04ce49ac8af0bc89aac9d7bcde106cf090f174db82fd3dcba0',1,'llfio_v2_xxx']]]
];
diff --git a/search/enumvalues_7.html b/search/enumvalues_7.html
index ab72ef1f..5d5ce7ee 100644
--- a/search/enumvalues_7.html
+++ b/search/enumvalues_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_7.js b/search/enumvalues_7.js
index bf2299a4..56c3c26f 100644
--- a/search/enumvalues_7.js
+++ b/search/enumvalues_7.js
@@ -1,6 +1,4 @@
var searchData=
[
- ['only_5fif_5fnot_5fexist',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
- ['only_5fmetadata',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
- ['open_5fexisting',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]]
+ ['hardcoded_1489',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_8.html b/search/enumvalues_8.html
index a0e8f1c8..be088de0 100644
--- a/search/enumvalues_8.html
+++ b/search/enumvalues_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_8.js b/search/enumvalues_8.js
index 3bcb507d..724039ac 100644
--- a/search/enumvalues_8.js
+++ b/search/enumvalues_8.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['read',['read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle']]],
- ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
- ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]]
+ ['if_5fneeded_1490',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
+ ['invalid_5furi_1491',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]]
];
diff --git a/search/enumvalues_9.html b/search/enumvalues_9.html
index 9051459b..b521e097 100644
--- a/search/enumvalues_9.html
+++ b/search/enumvalues_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_9.js b/search/enumvalues_9.js
index 4cf66196..c06ba01b 100644
--- a/search/enumvalues_9.js
+++ b/search/enumvalues_9.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
- ['shared',['shared',['../classllfio__v2__xxx_1_1file__handle.html#aa25e3ab298152166fc387d8fcfb19a63a9e81e7b963c71363e2fb3eefcfecfc0e',1,'llfio_v2_xxx::file_handle']]],
- ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
- ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['local_1492',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_a.html b/search/enumvalues_a.html
index f10160a6..ea342169 100644
--- a/search/enumvalues_a.html
+++ b/search/enumvalues_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_a.js b/search/enumvalues_a.js
index 732b19c3..63742f77 100644
--- a/search/enumvalues_a.js
+++ b/search/enumvalues_a.js
@@ -1,6 +1,10 @@
var searchData=
[
- ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
- ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
- ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]]
+ ['native_5fformat_1493',['native_format',['../classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b',1,'llfio_v2_xxx::path_view_component']]],
+ ['noncontent_5fmetadata_5fchanged_1494',['noncontent_metadata_changed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['none_1495',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
+ ['not_5fzero_5fterminated_1496',['not_zero_terminated',['../classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f',1,'llfio_v2_xxx::path_view_component']]],
+ ['nowait_5fall_1497',['nowait_all',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['nowait_5fdata_5fonly_1498',['nowait_data_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['nowait_5fview_5fonly_1499',['nowait_view_only',['../classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26a4737abe1cca6f14bc88bb6ba1f83b89c',1,'llfio_v2_xxx::io_multiplexer']]]
];
diff --git a/search/enumvalues_b.html b/search/enumvalues_b.html
index 0e2cb48c..0bb27ce3 100644
--- a/search/enumvalues_b.html
+++ b/search/enumvalues_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_b.js b/search/enumvalues_b.js
index 3caaa7ec..f114a314 100644
--- a/search/enumvalues_b.js
+++ b/search/enumvalues_b.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
- ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]]
+ ['only_5fif_5fnot_5fexist_1500',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
+ ['only_5fmetadata_1501',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
+ ['open_5fexisting_1502',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_c.html b/search/enumvalues_c.html
index 82ba68a4..1ee90d91 100644
--- a/search/enumvalues_c.html
+++ b/search/enumvalues_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/enumvalues_c.js b/search/enumvalues_c.js
index 9cc2e47a..7c8781cd 100644
--- a/search/enumvalues_c.js
+++ b/search/enumvalues_c.js
@@ -1,8 +1,6 @@
var searchData=
[
- ['wait_5fall',['wait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_handle']]],
- ['wait_5fdata_5fonly',['wait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_handle']]],
- ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
- ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
- ['write',['write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle']]]
+ ['read_1503',['read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle']]],
+ ['reads_1504',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
+ ['reads_5fand_5fmetadata_1505',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_d.html b/search/enumvalues_d.html
new file mode 100644
index 00000000..e1b3b48a
--- /dev/null
+++ b/search/enumvalues_d.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_d.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enumvalues_d.js b/search/enumvalues_d.js
new file mode 100644
index 00000000..8fa5af32
--- /dev/null
+++ b/search/enumvalues_d.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['safety_5fbarriers_1506',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
+ ['shared_1507',['shared',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33a9e81e7b963c71363e2fb3eefcfecfc0e',1,'llfio_v2_xxx']]],
+ ['symbolic_1508',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_5fadded_1509',['symlink_added',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['symlink_5fremoved_1510',['symlink_removed',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['system_1511',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+];
diff --git a/search/enumvalues_e.html b/search/enumvalues_e.html
new file mode 100644
index 00000000..c5d31975
--- /dev/null
+++ b/search/enumvalues_e.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_e.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enumvalues_e.js b/search/enumvalues_e.js
new file mode 100644
index 00000000..61e2ab5c
--- /dev/null
+++ b/search/enumvalues_e.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['temporary_1512',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
+ ['transaction_5faborted_5fcollision_1513',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
+ ['truncate_5fexisting_1514',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]]
+];
diff --git a/search/enumvalues_f.html b/search/enumvalues_f.html
new file mode 100644
index 00000000..5de961d4
--- /dev/null
+++ b/search/enumvalues_f.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enumvalues_f.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/enumvalues_f.js b/search/enumvalues_f.js
new file mode 100644
index 00000000..80f83541
--- /dev/null
+++ b/search/enumvalues_f.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['unknown_1515',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['unlocked_1516',['unlocked',['../namespacellfio__v2__xxx.html#ae79486289ff1386b26d1ce60bb797d33ad821dbe5ef2db3d805cd0f7eea0ec33f',1,'llfio_v2_xxx']]],
+ ['unsupported_5fintegrity_1517',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
+ ['unsupported_5furi_1518',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]]
+];
diff --git a/search/files_0.html b/search/files_0.html
index 4f272b83..737608e1 100644
--- a/search/files_0.html
+++ b/search/files_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_0.js b/search/files_0.js
index 3163a480..db73faab 100644
--- a/search/files_0.js
+++ b/search/files_0.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['async_5ffile_5fhandle_2ehpp',['async_file_handle.hpp',['../async__file__handle_8hpp.html',1,'']]],
- ['atomic_5fappend_2ehpp',['atomic_append.hpp',['../atomic__append_8hpp.html',1,'']]]
+ ['atomic_5fappend_2ehpp_882',['atomic_append.hpp',['../atomic__append_8hpp.html',1,'']]]
];
diff --git a/search/files_1.html b/search/files_1.html
index dcce4223..f27a62de 100644
--- a/search/files_1.html
+++ b/search/files_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_1.js b/search/files_1.js
index 67c68b50..44b21446 100644
--- a/search/files_1.js
+++ b/search/files_1.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['base_2ehpp',['base.hpp',['../base_8hpp.html',1,'']]],
- ['byte_5franges_2ehpp',['byte_ranges.hpp',['../byte__ranges_8hpp.html',1,'']]]
+ ['base_2ehpp_883',['base.hpp',['../base_8hpp.html',1,'']]],
+ ['byte_5franges_2ehpp_884',['byte_ranges.hpp',['../byte__ranges_8hpp.html',1,'']]]
];
diff --git a/search/files_10.html b/search/files_10.html
index d2187f6c..b70437fe 100644
--- a/search/files_10.html
+++ b/search/files_10.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_10.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_10.js b/search/files_10.js
index 39373674..fbb60274 100644
--- a/search/files_10.js
+++ b/search/files_10.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['xor_2ehpp',['xor.hpp',['../xor_8hpp.html',1,'']]]
+ ['version_2ehpp_921',['version.hpp',['../version_8hpp.html',1,'']]]
];
diff --git a/search/files_11.html b/search/files_11.html
new file mode 100644
index 00000000..71df229b
--- /dev/null
+++ b/search/files_11.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/files_11.js b/search/files_11.js
new file mode 100644
index 00000000..b7ac916f
--- /dev/null
+++ b/search/files_11.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['xor_2ehpp_922',['xor.hpp',['../xor_8hpp.html',1,'']]]
+];
diff --git a/search/files_2.html b/search/files_2.html
index d5c6c3be..a45066e9 100644
--- a/search/files_2.html
+++ b/search/files_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_2.js b/search/files_2.js
index bf20c9fa..e47b705a 100644
--- a/search/files_2.js
+++ b/search/files_2.js
@@ -1,6 +1,8 @@
var searchData=
[
- ['cached_5fparent_2ehpp',['cached_parent.hpp',['../cached__parent_8hpp.html',1,'']]],
- ['combining_2ehpp',['combining.hpp',['../combining_8hpp.html',1,'']]],
- ['config_2ehpp',['config.hpp',['../config_8hpp.html',1,'']]]
+ ['cached_5fparent_2ehpp_885',['cached_parent.hpp',['../cached__parent_8hpp.html',1,'']]],
+ ['clone_2ehpp_886',['clone.hpp',['../clone_8hpp.html',1,'']]],
+ ['combining_2ehpp_887',['combining.hpp',['../combining_8hpp.html',1,'']]],
+ ['config_2ehpp_888',['config.hpp',['../config_8hpp.html',1,'']]],
+ ['contents_2ehpp_889',['contents.hpp',['../contents_8hpp.html',1,'']]]
];
diff --git a/search/files_3.html b/search/files_3.html
index d5a95284..1076bc5a 100644
--- a/search/files_3.html
+++ b/search/files_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_3.js b/search/files_3.js
index 834a0797..9219b551 100644
--- a/search/files_3.js
+++ b/search/files_3.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['deadline_2eh',['deadline.h',['../deadline_8h.html',1,'']]],
- ['directory_5fhandle_2ehpp',['directory_handle.hpp',['../directory__handle_8hpp.html',1,'']]]
+ ['deadline_2eh_890',['deadline.h',['../deadline_8h.html',1,'']]],
+ ['directory_5fhandle_2ehpp_891',['directory_handle.hpp',['../directory__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_4.html b/search/files_4.html
index 7b4c42a0..e5cd7f43 100644
--- a/search/files_4.html
+++ b/search/files_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_4.js b/search/files_4.js
index dd4b8999..d3e8bfc7 100644
--- a/search/files_4.js
+++ b/search/files_4.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['fast_5frandom_5ffile_5fhandle_2ehpp',['fast_random_file_handle.hpp',['../fast__random__file__handle_8hpp.html',1,'']]],
- ['file_5fhandle_2ehpp',['file_handle.hpp',['../file__handle_8hpp.html',1,'']]],
- ['fs_5fhandle_2ehpp',['fs_handle.hpp',['../fs__handle_8hpp.html',1,'']]]
+ ['fast_5frandom_5ffile_5fhandle_2ehpp_892',['fast_random_file_handle.hpp',['../fast__random__file__handle_8hpp.html',1,'']]],
+ ['file_5fhandle_2ehpp_893',['file_handle.hpp',['../file__handle_8hpp.html',1,'']]],
+ ['fs_5fhandle_2ehpp_894',['fs_handle.hpp',['../fs__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_5.html b/search/files_5.html
index 1f77bb12..2cc480f2 100644
--- a/search/files_5.html
+++ b/search/files_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_5.js b/search/files_5.js
index ca92be5c..cd45bfe1 100644
--- a/search/files_5.js
+++ b/search/files_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['handle_2ehpp',['handle.hpp',['../handle_8hpp.html',1,'']]]
+ ['handle_2ehpp_895',['handle.hpp',['../handle_8hpp.html',1,'']]]
];
diff --git a/search/files_6.html b/search/files_6.html
index 7573254f..6510245f 100644
--- a/search/files_6.html
+++ b/search/files_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_6.js b/search/files_6.js
index 1d219091..a302019e 100644
--- a/search/files_6.js
+++ b/search/files_6.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['io_5fhandle_2ehpp',['io_handle.hpp',['../io__handle_8hpp.html',1,'']]],
- ['io_5fservice_2ehpp',['io_service.hpp',['../io__service_8hpp.html',1,'']]]
+ ['io_5fhandle_2ehpp_896',['io_handle.hpp',['../io__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_7.html b/search/files_7.html
index 214b329d..819f7b86 100644
--- a/search/files_7.html
+++ b/search/files_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_7.js b/search/files_7.js
index 09255307..abe5c4c5 100644
--- a/search/files_7.js
+++ b/search/files_7.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['kvstore_2ehpp',['kvstore.hpp',['../kvstore_8hpp.html',1,'']]]
+ ['kvstore_2ehpp_897',['kvstore.hpp',['../kvstore_8hpp.html',1,'']]]
];
diff --git a/search/files_8.html b/search/files_8.html
index 6720c7c3..fa1a27f7 100644
--- a/search/files_8.html
+++ b/search/files_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_8.js b/search/files_8.js
index 09bd9e85..fb46e5cc 100644
--- a/search/files_8.js
+++ b/search/files_8.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['llfio_2ehpp',['llfio.hpp',['../llfio_8hpp.html',1,'(Global Namespace)'],['../v2_80_2llfio_8hpp.html',1,'(Global Namespace)']]],
- ['lock_5ffiles_2ehpp',['lock_files.hpp',['../lock__files_8hpp.html',1,'']]]
+ ['llfio_2ehpp_898',['llfio.hpp',['../llfio_8hpp.html',1,'(Global Namespace)'],['../v2_80_2llfio_8hpp.html',1,'(Global Namespace)']]],
+ ['lock_5ffiles_2ehpp_899',['lock_files.hpp',['../lock__files_8hpp.html',1,'']]],
+ ['lockable_5fio_5fhandle_2ehpp_900',['lockable_io_handle.hpp',['../lockable__io__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_9.html b/search/files_9.html
index fc958779..3af3e474 100644
--- a/search/files_9.html
+++ b/search/files_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_9.js b/search/files_9.js
index ce9a71f6..5532155b 100644
--- a/search/files_9.js
+++ b/search/files_9.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['map_5fhandle_2ehpp',['map_handle.hpp',['../map__handle_8hpp.html',1,'']]],
- ['mapped_2ehpp',['mapped.hpp',['../mapped_8hpp.html',1,'']]],
- ['mapped_5ffile_5fhandle_2ehpp',['mapped_file_handle.hpp',['../mapped__file__handle_8hpp.html',1,'']]],
- ['memory_5fmap_2ehpp',['memory_map.hpp',['../memory__map_8hpp.html',1,'']]]
+ ['map_5fhandle_2ehpp_901',['map_handle.hpp',['../map__handle_8hpp.html',1,'']]],
+ ['mapped_2ehpp_902',['mapped.hpp',['../mapped_8hpp.html',1,'']]],
+ ['mapped_5ffile_5fhandle_2ehpp_903',['mapped_file_handle.hpp',['../mapped__file__handle_8hpp.html',1,'']]],
+ ['memory_5fmap_2ehpp_904',['memory_map.hpp',['../memory__map_8hpp.html',1,'']]]
];
diff --git a/search/files_a.html b/search/files_a.html
index ffe3e9d6..17f65ad9 100644
--- a/search/files_a.html
+++ b/search/files_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_a.js b/search/files_a.js
index 794f3753..7b63a046 100644
--- a/search/files_a.js
+++ b/search/files_a.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['native_5fhandle_5ftype_2ehpp',['native_handle_type.hpp',['../native__handle__type_8hpp.html',1,'']]]
+ ['native_5fhandle_5ftype_2ehpp_905',['native_handle_type.hpp',['../native__handle__type_8hpp.html',1,'']]]
];
diff --git a/search/files_b.html b/search/files_b.html
index 32cd2be9..aaa7731b 100644
--- a/search/files_b.html
+++ b/search/files_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_b.js b/search/files_b.js
index 41a20128..23f299e2 100644
--- a/search/files_b.js
+++ b/search/files_b.js
@@ -1,6 +1,8 @@
var searchData=
[
- ['path_5fdiscovery_2ehpp',['path_discovery.hpp',['../path__discovery_8hpp.html',1,'']]],
- ['path_5fhandle_2ehpp',['path_handle.hpp',['../path__handle_8hpp.html',1,'']]],
- ['path_5fview_2ehpp',['path_view.hpp',['../path__view_8hpp.html',1,'']]]
+ ['path_5fdiscovery_2ehpp_906',['path_discovery.hpp',['../path__discovery_8hpp.html',1,'']]],
+ ['path_5fhandle_2ehpp_907',['path_handle.hpp',['../path__handle_8hpp.html',1,'']]],
+ ['path_5fview_2ehpp_908',['path_view.hpp',['../path__view_8hpp.html',1,'']]],
+ ['pipe_5fhandle_2ehpp_909',['pipe_handle.hpp',['../pipe__handle_8hpp.html',1,'']]],
+ ['process_5fhandle_2ehpp_910',['process_handle.hpp',['../process__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_c.html b/search/files_c.html
index bb836086..79e79635 100644
--- a/search/files_c.html
+++ b/search/files_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_c.js b/search/files_c.js
index ee622111..d8656262 100644
--- a/search/files_c.js
+++ b/search/files_c.js
@@ -1,8 +1,4 @@
var searchData=
[
- ['safe_5fbyte_5franges_2ehpp',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
- ['stat_2ehpp',['stat.hpp',['../stat_8hpp.html',1,'']]],
- ['statfs_2ehpp',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
- ['storage_5fprofile_2ehpp',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
- ['symlink_5fhandle_2ehpp',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]]
+ ['reduce_2ehpp_911',['reduce.hpp',['../reduce_8hpp.html',1,'']]]
];
diff --git a/search/files_d.html b/search/files_d.html
index 38bf2b3b..94b2ff2d 100644
--- a/search/files_d.html
+++ b/search/files_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_d.js b/search/files_d.js
index dca7d725..b903ea91 100644
--- a/search/files_d.js
+++ b/search/files_d.js
@@ -1,4 +1,9 @@
var searchData=
[
- ['trivial_5fvector_2ehpp',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]]
+ ['safe_5fbyte_5franges_2ehpp_912',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
+ ['stat_2ehpp_913',['stat.hpp',['../stat_8hpp.html',1,'']]],
+ ['statfs_2ehpp_914',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
+ ['storage_5fprofile_2ehpp_915',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
+ ['summarize_2ehpp_916',['summarize.hpp',['../summarize_8hpp.html',1,'']]],
+ ['symlink_5fhandle_2ehpp_917',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]]
];
diff --git a/search/files_e.html b/search/files_e.html
index 6f847621..cb205ad3 100644
--- a/search/files_e.html
+++ b/search/files_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_e.js b/search/files_e.js
index d1531717..9fa55a3c 100644
--- a/search/files_e.js
+++ b/search/files_e.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['utils_2ehpp',['utils.hpp',['../utils_8hpp.html',1,'']]]
+ ['traverse_2ehpp_918',['traverse.hpp',['../traverse_8hpp.html',1,'']]],
+ ['trivial_5fvector_2ehpp_919',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]]
];
diff --git a/search/files_f.html b/search/files_f.html
index 75680638..90cf7fd3 100644
--- a/search/files_f.html
+++ b/search/files_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/files_f.js b/search/files_f.js
index 60293f81..b8666102 100644
--- a/search/files_f.js
+++ b/search/files_f.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['version_2ehpp',['version.hpp',['../version_8hpp.html',1,'']]]
+ ['utils_2ehpp_920',['utils.hpp',['../utils_8hpp.html',1,'']]]
];
diff --git a/search/functions_0.html b/search/functions_0.html
index 4e6d87d1..e17c7111 100644
--- a/search/functions_0.html
+++ b/search/functions_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_0.js b/search/functions_0.js
index fb297663..4e755982 100644
--- a/search/functions_0.js
+++ b/search/functions_0.js
@@ -1,5 +1,11 @@
var searchData=
[
- ['_5ffetch_5finode',['_fetch_inode',['../classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e',1,'llfio_v2_xxx::fs_handle']]],
- ['_5flock',['_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]]
+ ['_5fdo_5fallocate_5fregistered_5fbuffer_923',['_do_allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__handle.html#ad17b8879c355d86174187f198b70baaa',1,'llfio_v2_xxx::io_handle']]],
+ ['_5fdo_5fbarrier_924',['_do_barrier',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae4e250d41ea7ebb4da6201377ccb397e',1,'llfio_v2_xxx::fast_random_file_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1io__handle.html#a0f1d67fa1ad7f0d0b1256b6138929d60',1,'llfio_v2_xxx::io_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1map__handle.html#aacec26b42225b1e65b53fdd979c5ee2d',1,'llfio_v2_xxx::map_handle::_do_barrier()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a298d19de0ece33a268f2338c52d784e2',1,'llfio_v2_xxx::mapped_file_handle::_do_barrier()']]],
+ ['_5fdo_5fmax_5fbuffers_925',['_do_max_buffers',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a48ac4aa65006a003725b9ff5ace24b7c',1,'llfio_v2_xxx::fast_random_file_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1io__handle.html#ae5ec845b3e2c2e31c2dc3de1d276a7e3',1,'llfio_v2_xxx::io_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1map__handle.html#ac8b37eff92c2536bd05943a18c6b91c0',1,'llfio_v2_xxx::map_handle::_do_max_buffers()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a3132ada04fd41e1f04ffa32ab3a3a789',1,'llfio_v2_xxx::mapped_file_handle::_do_max_buffers()']]],
+ ['_5fdo_5fread_926',['_do_read',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a56599da1306c86d6c8031ffdd38f66b8',1,'llfio_v2_xxx::fast_random_file_handle::_do_read()'],['../classllfio__v2__xxx_1_1io__handle.html#a4379e3f84b913f606bb2ec6a194d4380',1,'llfio_v2_xxx::io_handle::_do_read(io_request&lt; buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#adc47501ff4d4278e497758643ddb332a',1,'llfio_v2_xxx::io_handle::_do_read(registered_buffer_type base, io_request&lt; buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a772214f8a93de09ae75a18ffbfa93cd5',1,'llfio_v2_xxx::map_handle::_do_read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a549e187a9cac72a073e4bc488e7e1dc7',1,'llfio_v2_xxx::mapped_file_handle::_do_read()']]],
+ ['_5fdo_5fwrite_927',['_do_write',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a7f23700faf89482551db07f54b95c292',1,'llfio_v2_xxx::fast_random_file_handle::_do_write()'],['../classllfio__v2__xxx_1_1io__handle.html#a2102f73a4872e8fd8bbe1c71ef82c97f',1,'llfio_v2_xxx::io_handle::_do_write(io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#aa0611d9a49a6d5fd5ffd713ecaf4da1f',1,'llfio_v2_xxx::io_handle::_do_write(registered_buffer_type base, io_request&lt; const_buffers_type &gt; reqs, deadline d) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a19cffabe54e3136730247bac668ccc0d',1,'llfio_v2_xxx::map_handle::_do_write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#afed76a4061f91f4a6e05962bb2eadd68',1,'llfio_v2_xxx::mapped_file_handle::_do_write()']]],
+ ['_5ffetch_5finode_928',['_fetch_inode',['../classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e',1,'llfio_v2_xxx::fs_handle']]],
+ ['_5flock_929',['_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
+ ['_5funsynchronised_5fio_5foperation_5fstate_930',['_unsynchronised_io_operation_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_result&lt; buffers_type &gt; &amp;&amp;res)'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state(io_result&lt; const_buffers_type &gt; &amp;&amp;res)']]]
];
diff --git a/search/functions_1.html b/search/functions_1.html
index b343e2db..0ddac0a4 100644
--- a/search/functions_1.html
+++ b/search/functions_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_1.js b/search/functions_1.js
index 26e83eb0..4af04c79 100644
--- a/search/functions_1.js
+++ b/search/functions_1.js
@@ -1,25 +1,18 @@
var searchData=
[
- ['address',['address',['../classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737',1,'llfio_v2_xxx::map_handle::address()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c',1,'llfio_v2_xxx::mapped_file_handle::address()']]],
- ['all_5ftemporary_5fdirectories',['all_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2',1,'llfio_v2_xxx::path_discovery']]],
- ['allocator',['allocator',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef',1,'kvstore_v1_xxx::basic_key_value_store::allocator() noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065',1,'kvstore_v1_xxx::basic_key_value_store::allocator() const noexcept']]],
- ['are_5freads_5ffrom_5fcache',['are_reads_from_cache',['../classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff',1,'llfio_v2_xxx::handle']]],
- ['are_5fsafety_5fbarriers_5fissued',['are_safety_barriers_issued',['../classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1',1,'llfio_v2_xxx::handle']]],
- ['are_5fwrites_5fdurable',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
- ['as_5fspan',['as_span',['../classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65',1,'llfio_v2_xxx::map_handle::as_span() noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a',1,'llfio_v2_xxx::map_handle::as_span() const noexcept'],['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped::as_span()']]],
- ['assign',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
- ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30',1,'llfio_v2_xxx::async_file_handle']]],
- ['async_5ffile',['async_file',['../classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e',1,'llfio_v2_xxx::async_file_handle::async_file()'],['../namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149',1,'llfio_v2_xxx::async_file()']]],
- ['async_5ffile_5fhandle',['async_file_handle',['../classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0',1,'llfio_v2_xxx::async_file_handle::async_file_handle()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13',1,'llfio_v2_xxx::async_file_handle::async_file_handle(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da',1,'llfio_v2_xxx::async_file_handle::async_file_handle(async_file_handle &amp;&amp;o) noexcept=default'],['../classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495',1,'llfio_v2_xxx::async_file_handle::async_file_handle(const async_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4',1,'llfio_v2_xxx::async_file_handle::async_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe',1,'llfio_v2_xxx::async_file_handle::async_file_handle(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept']]],
- ['async_5frandom_5ffile',['async_random_file',['../classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43',1,'llfio_v2_xxx::async_file_handle::async_random_file()'],['../namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd',1,'llfio_v2_xxx::async_random_file()']]],
- ['async_5fread',['async_read',['../classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d',1,'llfio_v2_xxx::async_file_handle::async_read()'],['../namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355',1,'llfio_v2_xxx::async_read()']]],
- ['async_5ftemp_5ffile',['async_temp_file',['../classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6',1,'llfio_v2_xxx::async_file_handle::async_temp_file()'],['../namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74',1,'llfio_v2_xxx::async_temp_file()']]],
- ['async_5ftemp_5finode',['async_temp_inode',['../classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661',1,'llfio_v2_xxx::async_file_handle::async_temp_inode()'],['../namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e',1,'llfio_v2_xxx::async_temp_inode()']]],
- ['async_5fwrite',['async_write',['../classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552',1,'llfio_v2_xxx::async_file_handle::async_write()'],['../namespacellfio__v2__xxx.html#a4985d46d431e0e734ad0b8bab00ad591',1,'llfio_v2_xxx::async_write()']]],
- ['at',['at',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i) const']]],
- ['atomic_5fappend',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(atomic_append &amp;&amp;o) noexcept']]],
- ['await_5fready',['await_ready',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['await_5fresume',['await_resume',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['await_5fsuspend',['await_suspend',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
- ['awaitable_5fpost_5fto_5fself',['awaitable_post_to_self',['../structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85',1,'llfio_v2_xxx::io_service::awaitable_post_to_self']]]
+ ['address_931',['address',['../classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737',1,'llfio_v2_xxx::map_handle::address()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c',1,'llfio_v2_xxx::mapped_file_handle::address()']]],
+ ['all_5ftemporary_5fdirectories_932',['all_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2',1,'llfio_v2_xxx::path_discovery']]],
+ ['allocate_5fregistered_5fbuffer_933',['allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__handle.html#a97ac1b43da39d9935919ac848ee3e8d3',1,'llfio_v2_xxx::io_handle']]],
+ ['allocator_934',['allocator',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef',1,'kvstore_v1_xxx::basic_key_value_store::allocator() noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065',1,'kvstore_v1_xxx::basic_key_value_store::allocator() const noexcept']]],
+ ['anonymous_5fpipe_935',['anonymous_pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#a0acb0f067bf654ee8d69aa47df96ff5b',1,'llfio_v2_xxx::pipe_handle']]],
+ ['are_5freads_5ffrom_5fcache_936',['are_reads_from_cache',['../classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff',1,'llfio_v2_xxx::handle']]],
+ ['are_5fsafety_5fbarriers_5fissued_937',['are_safety_barriers_issued',['../classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1',1,'llfio_v2_xxx::handle']]],
+ ['are_5fwrites_5fdurable_938',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
+ ['as_5fspan_939',['as_span',['../classllfio__v2__xxx_1_1map__handle.html#ace85e1ed0933fe9f3f5e2b460d9fca65',1,'llfio_v2_xxx::map_handle::as_span() noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#acdb624159d265151a82c0831899bb13a',1,'llfio_v2_xxx::map_handle::as_span() const noexcept'],['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped::as_span()']]],
+ ['assign_940',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
+ ['at_941',['at',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i) const']]],
+ ['atomic_5fappend_942',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(atomic_append &amp;&amp;o) noexcept']]],
+ ['await_5fready_943',['await_ready',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['await_5fresume_944',['await_resume',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['awaitable_945',['awaitable',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable(result_type &amp;&amp;res) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6',1,'llfio_v2_xxx::io_multiplexer::awaitable::awaitable(awaitable &amp;&amp;o) noexcept']]]
];
diff --git a/search/functions_10.html b/search/functions_10.html
index 72bc1ea1..09422e1e 100644
--- a/search/functions_10.html
+++ b/search/functions_10.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_10.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_10.js b/search/functions_10.js
index b9ba9a68..d0d9e8a9 100644
--- a/search/functions_10.js
+++ b/search/functions_10.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['quickcpplib_5fbitfield_5fbegin',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
- ['quickcpplib_5fbitfield_5fend',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
+ ['quickcpplib_5fbitfield_5fbegin_1192',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1process__handle.html#aa0c1f1cf5c93c0e8eb36482710bef81d',1,'llfio_v2_xxx::process_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
+ ['quickcpplib_5fbitfield_5fend_1193',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
];
diff --git a/search/functions_11.html b/search/functions_11.html
index 6948a615..1cde7b49 100644
--- a/search/functions_11.html
+++ b/search/functions_11.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_11.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_11.js b/search/functions_11.js
index 28515164..4e9acfbf 100644
--- a/search/functions_11.js
+++ b/search/functions_11.js
@@ -1,28 +1,32 @@
var searchData=
[
- ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
- ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
- ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
- ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
- ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
- ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
- ['read',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032',1,'llfio_v2_xxx::path_view']]],
- ['release',['release',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a5258babf2495492f55a1a72f5564bae2',1,'llfio_v2_xxx::file_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
- ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
- ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee',1,'llfio_v2_xxx::path_view']]],
- ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
- ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
- ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
- ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
- ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400',1,'llfio_v2_xxx::path_view']]],
- ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af',1,'llfio_v2_xxx::path_view']]],
- ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a',1,'llfio_v2_xxx::path_view']]],
- ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
- ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
- ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
- ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
- ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
- ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
+ ['random_5fentity_1194',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['random_5ffill_1195',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
+ ['random_5fpipe_1196',['random_pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#af30e3385fb8e985df8c743b6c5e272d3',1,'llfio_v2_xxx::pipe_handle']]],
+ ['random_5fstring_1197',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
+ ['rbegin_1198',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
+ ['read_1199',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#ab27aadf3740715dc8c5d7cd5a194d57e',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#ae04ada27942187f03b59044cd1328f49',1,'llfio_v2_xxx::io_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['read_5fcompleted_1200',['read_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['read_5ffinished_1201',['read_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor::read_finished()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc',1,'llfio_v2_xxx::io_multiplexer::awaitable::read_finished()']]],
+ ['read_5finitiated_1202',['read_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['reduce_1203',['reduce',['../namespacellfio__v2__xxx_1_1algorithm.html#a05594f7c8ae275fa65b2acd57cc9b8ac',1,'llfio_v2_xxx::algorithm']]],
+ ['reduce_5fvisitor_1204',['reduce_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0',1,'llfio_v2_xxx::algorithm::reduce_visitor::reduce_visitor()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb',1,'llfio_v2_xxx::algorithm::reduce_visitor::reduce_visitor(std::chrono::steady_clock::duration _timeout)']]],
+ ['reduction_5fround_1205',['reduction_round',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['relative_5fpath_1206',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a8b6b10a1839b3c801e3a8298881d3032',1,'llfio_v2_xxx::path_view']]],
+ ['release_1207',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ab0d4a9c50de6b8da12bb5f5b9aebb981',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#a28cfecd8e9bae73c721f0e932be4acc1',1,'llfio_v2_xxx::unique_file_lock::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
+ ['relink_1208',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a35d3754438d64a63a7fe63c5ade23a62',1,'llfio_v2_xxx::mapped_file_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
+ ['relocate_5fto_1209',['relocate_to',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::relocate_to()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::relocate_to()']]],
+ ['remove_5ffilename_1210',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee',1,'llfio_v2_xxx::path_view']]],
+ ['rename_5ffailed_1211',['rename_failed',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['rend_1212',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
+ ['reopen_1213',['reopen',['../classllfio__v2__xxx_1_1directory__handle.html#ac65718d52cac467dcc1cb814bd91d537',1,'llfio_v2_xxx::directory_handle::reopen()'],['../classllfio__v2__xxx_1_1file__handle.html#aa276caa8542cca700a2574459395ff60',1,'llfio_v2_xxx::file_handle::reopen()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1eed91444d65330347cb89bbe206c13b',1,'llfio_v2_xxx::symlink_handle::reopen()']]],
+ ['requires_5faligned_5fio_1214',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
+ ['reserve_1215',['reserve',['../classllfio__v2__xxx_1_1map__handle.html#ac0c02775e3288da59f5912f8110b45cc',1,'llfio_v2_xxx::map_handle::reserve()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
+ ['resize_1216',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
+ ['root_5fdirectory_1217',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a1712388490311a193a7e9be4df081400',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fname_1218',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fpath_1219',['root_path',['../classllfio__v2__xxx_1_1path__view.html#a5dde24635b2a5ab43e3622fefb2c656a',1,'llfio_v2_xxx::path_view']]],
+ ['round_5fdown_5fto_5fpage_5fsize_1220',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
+ ['round_5fup_5fto_5fpage_5fsize_1221',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
+ ['running_5funder_5fwsl_1222',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/functions_12.html b/search/functions_12.html
index 3df84892..48e59155 100644
--- a/search/functions_12.html
+++ b/search/functions_12.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_12.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_12.js b/search/functions_12.js
index e7789e51..7d4efe92 100644
--- a/search/functions_12.js
+++ b/search/functions_12.js
@@ -1,25 +1,31 @@
var searchData=
[
- ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['section',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
- ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
- ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
- ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
- ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
- ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
- ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a911d0cf556b0d234a33235f84c85dfc2',1,'llfio_v2_xxx::file_handle::extent_guard']]],
- ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
- ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
- ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
- ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['st_5fdev',['st_dev',['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle']]],
- ['st_5fino',['st_ino',['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle']]],
- ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
- ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t']]],
- ['stem',['stem',['../classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181',1,'llfio_v2_xxx::path_view_component::stem()'],['../classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8',1,'llfio_v2_xxx::path_view::stem()']]],
- ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
- ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f',1,'llfio_v2_xxx::path_view_component::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
- ['symlink',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]]
+ ['safe_5fbyte_5franges_1223',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['section_1224',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
+ ['section_5fflags_1225',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
+ ['section_5fhandle_1226',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a0c81fe2dc73021beab897b66379aef9a',1,'llfio_v2_xxx::section_handle::section_handle(flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
+ ['set_5fappend_5fonly_1227',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle::set_append_only()'],['../classllfio__v2__xxx_1_1process__handle.html#ab64c9fc14fc555b5ec8571863458bf83',1,'llfio_v2_xxx::process_handle::set_append_only()']]],
+ ['set_5fbacking_1228',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
+ ['set_5fdone_1229',['set_done',['../classllfio__v2__xxx_1_1read__receiver.html#aa2a25b72f0fba90bf1e06070364d8ec8',1,'llfio_v2_xxx::read_receiver::set_done()'],['../classllfio__v2__xxx_1_1write__receiver.html#a98252a8d7852b66438cfd543e6eaceb8',1,'llfio_v2_xxx::write_receiver::set_done()']]],
+ ['set_5ferror_1230',['set_error',['../classllfio__v2__xxx_1_1read__receiver.html#a84c3fdd00374db3d360c63982dade976',1,'llfio_v2_xxx::read_receiver::set_error()'],['../classllfio__v2__xxx_1_1write__receiver.html#a1dfa08a7fd74dc74e9f8882e2670bc4f',1,'llfio_v2_xxx::write_receiver::set_error()']]],
+ ['set_5fhandle_1231',['set_handle',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a994ce55f3ec1d97d275cce11beccfd04',1,'llfio_v2_xxx::lockable_io_handle::extent_guard']]],
+ ['set_5fmultiplexer_1232',['set_multiplexer',['../classllfio__v2__xxx_1_1io__handle.html#a281467f83f70f2e12aaedf5847fd818c',1,'llfio_v2_xxx::io_handle::set_multiplexer()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac9a87793288b496940bdae0ff07cae0c',1,'llfio_v2_xxx::mapped_file_handle::set_multiplexer()'],['../namespacellfio__v2__xxx_1_1this__thread.html#a5221e1507e45bcb729961c59cce7fbae',1,'llfio_v2_xxx::this_thread::set_multiplexer()']]],
+ ['set_5fsection_1233',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
+ ['set_5fvalue_1234',['set_value',['../classllfio__v2__xxx_1_1read__receiver.html#a607e71ec6005d142ad42438ddedbe35d',1,'llfio_v2_xxx::read_receiver::set_value()'],['../classllfio__v2__xxx_1_1write__receiver.html#a06ee003d9d7f33b6fef79771d641d13b',1,'llfio_v2_xxx::write_receiver::set_value()']]],
+ ['shrink_5fto_5ffit_1235',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['size_1236',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add',1,'llfio_v2_xxx::io_multiplexer::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
+ ['snapshot_1237',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['st_5fdev_1238',['st_dev',['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle']]],
+ ['st_5fino_1239',['st_ino',['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle']]],
+ ['stack_5fupdated_1240',['stack_updated',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54',1,'llfio_v2_xxx::algorithm::traverse_visitor']]],
+ ['stamp_1241',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
+ ['stat_5ft_1242',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t']]],
+ ['stem_1243',['stem',['../classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181',1,'llfio_v2_xxx::path_view_component']]],
+ ['stopped_1244',['stopped',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1a5a7e9924b9e428e77d4167e716f57c',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory_1245',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
+ ['submit_1246',['submit',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab59c09d197cc2ab310375d6e0b4f06f8',1,'llfio_v2_xxx::dynamic_thread_pool_group::submit(span&lt; work_item * &gt; work) noexcept=0'],['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ac66e72ede37599df150ee8506a92dd66',1,'llfio_v2_xxx::dynamic_thread_pool_group::submit(work_item *wi) noexcept']]],
+ ['summarize_1247',['summarize',['../namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0',1,'llfio_v2_xxx::algorithm']]],
+ ['swap_1248',['swap',['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f',1,'llfio_v2_xxx::path_view_component::swap()'],['../classllfio__v2__xxx_1_1pipe__handle.html#ae0f9776120b20ef01a545152901117a0',1,'llfio_v2_xxx::pipe_handle::swap()'],['../classllfio__v2__xxx_1_1process__handle.html#ae3011c18dbedd50a95a4ee09750a8888',1,'llfio_v2_xxx::process_handle::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
+ ['symlink_1249',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_5fhandle_1250',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]]
];
diff --git a/search/functions_13.html b/search/functions_13.html
index febf8e03..f1fc553f 100644
--- a/search/functions_13.html
+++ b/search/functions_13.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_13.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_13.js b/search/functions_13.js
index 882f66a8..5741cf6c 100644
--- a/search/functions_13.js
+++ b/search/functions_13.js
@@ -1,11 +1,17 @@
var searchData=
[
- ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
- ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
- ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
- ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
- ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
- ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
- ['try_5flock_5frange',['try_lock_range',['../classllfio__v2__xxx_1_1file__handle.html#a2919da8c2520240c4e65f18f68872fd0',1,'llfio_v2_xxx::file_handle']]],
- ['type',['type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
+ ['temp_5fdirectory_1251',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
+ ['temp_5ffile_1252',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
+ ['temp_5finode_1253',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
+ ['temporary_5fnamed_5fpipes_5fdirectory_1254',['temporary_named_pipes_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188',1,'llfio_v2_xxx::path_discovery']]],
+ ['throw_5fexception_1255',['throw_exception',['../structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c',1,'llfio_v2_xxx::error_info']]],
+ ['to_5fwin32_5fpath_1256',['to_win32_path',['../namespacellfio__v2__xxx.html#ab561e45415bf19b8cc6064b6b313d94d',1,'llfio_v2_xxx']]],
+ ['traverse_1257',['traverse',['../namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_5fimpl_1258',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
+ ['truncate_1259',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
+ ['try_5flock_1260',['try_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html#abf94a041e73bf0384d5dbfded6c85948',1,'llfio_v2_xxx::unique_file_lock::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
+ ['try_5flock_5ffile_1261',['try_lock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a6e6a25ad5d9efd45e69d22e70a754a9e',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['try_5flock_5ffile_5fshared_1262',['try_lock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#ad8e3d809cb954d99e228ee756bac1c64',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['try_5flock_5fshared_1263',['try_lock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#aa1ab80cdfbb9bdb4e64ec8b61e4d3a83',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['type_1264',['type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
];
diff --git a/search/functions_14.html b/search/functions_14.html
index 4c814f5a..0302cd98 100644
--- a/search/functions_14.html
+++ b/search/functions_14.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_14.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_14.js b/search/functions_14.js
index f9b26078..4ea86a4e 100644
--- a/search/functions_14.js
+++ b/search/functions_14.js
@@ -1,11 +1,17 @@
var searchData=
[
- ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
- ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
- ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
- ['unlock',['unlock',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#ad6d6b683aeebc6d6da7880073507935c',1,'llfio_v2_xxx::file_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
- ['unlock_5frange',['unlock_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a0b20ae88c350702b39f41d8223f0b164',1,'llfio_v2_xxx::fast_random_file_handle::unlock_range()'],['../classllfio__v2__xxx_1_1file__handle.html#a0cd024de36cc7cb63d9189f45a9944e9',1,'llfio_v2_xxx::file_handle::unlock_range()']]],
- ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
- ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]]
+ ['underlying_5ffile_5fmaximum_5fextent_1265',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
+ ['unique_5fid_1266',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
+ ['uniquely_5fnamed_5fdirectory_1267',['uniquely_named_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a6475175eca973ecb66c0cfb118ca1091',1,'llfio_v2_xxx::directory_handle::uniquely_named_directory()'],['../namespacellfio__v2__xxx.html#aba506997f2999cabbe0a7bd2a1d3b6e0',1,'llfio_v2_xxx::uniquely_named_directory()']]],
+ ['uniquely_5fnamed_5ffile_1268',['uniquely_named_file',['../classllfio__v2__xxx_1_1file__handle.html#a8b7aa986243527fe224425f61c179709',1,'llfio_v2_xxx::file_handle::uniquely_named_file()'],['../namespacellfio__v2__xxx.html#a5d9582bf6887848cd9fc363a282a1c21',1,'llfio_v2_xxx::uniquely_named_file()']]],
+ ['uniquely_5fnamed_5fsymlink_1269',['uniquely_named_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa327ae84e553a0a719217dd561ebc148',1,'llfio_v2_xxx::symlink_handle']]],
+ ['unlink_1270',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
+ ['unlink_5ffailed_1271',['unlink_failed',['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe',1,'llfio_v2_xxx::algorithm::reduce_visitor']]],
+ ['unlock_1272',['unlock',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard::unlock()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#aeac893321a6eb8f191259b51e1a9a7eb',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#ae8af367ca1475f4a3c415fd7fff18694',1,'llfio_v2_xxx::unique_file_lock::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
+ ['unlock_5ffile_1273',['unlock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a561ef83b4fe400b59c9d92444913c180',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['unlock_5ffile_5frange_1274',['unlock_file_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a7830dff75463d4e0bf8d871bdc75055d',1,'llfio_v2_xxx::fast_random_file_handle::unlock_file_range()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a5572735777dfdd3f7c5c1f6dc8260287',1,'llfio_v2_xxx::lockable_io_handle::unlock_file_range()']]],
+ ['unlock_5ffile_5fshared_1275',['unlock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#afc5ba16c0377a56b7e1a66a9c6d0a703',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['unlock_5fshared_1276',['unlock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#a97a893fe4a3b5356ef26b6b9b80fdce2',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['update_5fmap_1277',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
+ ['uri_1278',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]]
];
diff --git a/search/functions_15.html b/search/functions_15.html
index 0f002b8a..18cf76b2 100644
--- a/search/functions_15.html
+++ b/search/functions_15.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_15.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_15.js b/search/functions_15.js
index 5c97d180..63493fd4 100644
--- a/search/functions_15.js
+++ b/search/functions_15.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]]
+ ['value_1279',['value',['../structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a',1,'llfio_v2_xxx::error_info']]],
+ ['value_5fsize_1280',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['verified_5ftemporary_5fdirectories_1281',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]],
+ ['visit_1282',['visit',['../namespacellfio__v2__xxx.html#a1d381d16b152632f617c82182fcf22a1',1,'llfio_v2_xxx']]]
];
diff --git a/search/functions_16.html b/search/functions_16.html
index 28a50251..9182391d 100644
--- a/search/functions_16.html
+++ b/search/functions_16.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_16.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_16.js b/search/functions_16.js
index 97fca17f..beb36a8a 100644
--- a/search/functions_16.js
+++ b/search/functions_16.js
@@ -1,4 +1,12 @@
var searchData=
[
- ['write',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
+ ['wait_1283',['wait',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a26d88fd329e5c0e04739b3214831a887',1,'llfio_v2_xxx::dynamic_thread_pool_group::wait()'],['../classllfio__v2__xxx_1_1process__handle.html#a2af6ecdb9948f3ddb05883d66cecbbb2',1,'llfio_v2_xxx::process_handle::wait()']]],
+ ['wait_5ffor_1284',['wait_for',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1f8d01ba540996392dd4c8d87b8c6f41',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['wait_5funtil_1285',['wait_until',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a00fdd6c7fb86e9b1e967a5a5f0305816',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['wake_5fcheck_5ffor_5fany_5fcompleted_5fio_1286',['wake_check_for_any_completed_io',['../classllfio__v2__xxx_1_1io__multiplexer.html#a68df23fe7e7b730bed40614e7cfd48b5',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['without_5ftrailing_5fseparator_1287',['without_trailing_separator',['../classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998',1,'llfio_v2_xxx::path_view']]],
+ ['write_1288',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a7848ef15e774eacec7e4446a8c365a3d',1,'llfio_v2_xxx::io_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['write_5fcompleted_1289',['write_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['write_5finitiated_1290',['write_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['write_5for_5fbarrier_5ffinished_1291',['write_or_barrier_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor::write_or_barrier_finished()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b',1,'llfio_v2_xxx::io_multiplexer::awaitable::write_or_barrier_finished()']]]
];
diff --git a/search/functions_17.html b/search/functions_17.html
index dabb214d..80795060 100644
--- a/search/functions_17.html
+++ b/search/functions_17.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_17.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_17.js b/search/functions_17.js
index af5c3e19..25511fae 100644
--- a/search/functions_17.js
+++ b/search/functions_17.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
- ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
+ ['zero_1292',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a8393617b1f8ea7cc16ec5e15ee8166bd',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a299dd43c5d218b0253e0ce9760c955ab',1,'llfio_v2_xxx::file_handle::zero(extent_pair extent, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a800b4d046b9648a9a4a69a7797548ee4',1,'llfio_v2_xxx::file_handle::zero(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a85989f7ebfd02ed54fbfa0afa6550d90',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
+ ['zero_5fmemory_1293',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]],
+ ['zero_5ftermination_1294',['zero_termination',['../classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/functions_18.html b/search/functions_18.html
index 8a9723d7..a2f7f364 100644
--- a/search/functions_18.html
+++ b/search/functions_18.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_18.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_18.js b/search/functions_18.js
index 54bd75f7..e37090bb 100644
--- a/search/functions_18.js
+++ b/search/functions_18.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+ ['_7eawaitable_1295',['~awaitable',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['_7emapped_1296',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
];
diff --git a/search/functions_2.html b/search/functions_2.html
index ecce2f31..2737c5ac 100644
--- a/search/functions_2.html
+++ b/search/functions_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_2.js b/search/functions_2.js
index 84e2107f..2e6f6631 100644
--- a/search/functions_2.js
+++ b/search/functions_2.js
@@ -1,15 +1,17 @@
var searchData=
[
- ['back',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
- ['backing',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
- ['backing_5fnative_5fhandle',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
- ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f',1,'llfio_v2_xxx::io_handle']]],
- ['basic_5fkey_5fvalue_5fstore',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['begin',['begin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23',1,'llfio_v2_xxx::io_handle::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c',1,'llfio_v2_xxx::io_handle::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a',1,'llfio_v2_xxx::path_view::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891',1,'llfio_v2_xxx::path_view::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
- ['begin_5ftransaction',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['buffer_5ftype',['buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type()=default'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type(pointer data, size_type len) noexcept']]],
- ['buffers_5ftype',['buffers_type',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v)'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete']]],
- ['byte_5franges',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(byte_ranges &amp;&amp;o) noexcept']]],
- ['bytes_5fstored',['bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['bytes_5ftransferred',['bytes_transferred',['../structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a',1,'llfio_v2_xxx::io_handle::io_result']]]
+ ['back_946',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
+ ['backing_947',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
+ ['backing_5fnative_5fhandle_948',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
+ ['barrier_949',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a6a1044eeb6ab16939e4669bbeb071b32',1,'llfio_v2_xxx::io_handle']]],
+ ['barrier_5fcompleted_950',['barrier_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['barrier_5finitiated_951',['barrier_initiated',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a',1,'llfio_v2_xxx::io_multiplexer::io_operation_state_visitor']]],
+ ['basic_5fkey_5fvalue_5fstore_952',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['begin_953',['begin',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb',1,'llfio_v2_xxx::io_multiplexer::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959',1,'llfio_v2_xxx::io_multiplexer::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c',1,'llfio_v2_xxx::path_view::begin() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b',1,'llfio_v2_xxx::path_view::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
+ ['begin_5ftransaction_954',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['buffer_5ftype_955',['buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type()=default'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206',1,'llfio_v2_xxx::io_multiplexer::buffer_type::buffer_type(span&lt; byte &gt; s) noexcept']]],
+ ['buffers_5ftype_956',['buffers_type',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v)'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v, buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete']]],
+ ['byte_5franges_957',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(byte_ranges &amp;&amp;o) noexcept']]],
+ ['bytes_5fstored_958',['bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['bytes_5ftransferred_959',['bytes_transferred',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff',1,'llfio_v2_xxx::io_multiplexer::io_result']]]
];
diff --git a/search/functions_3.html b/search/functions_3.html
index 15f06abd..6da86e7d 100644
--- a/search/functions_3.html
+++ b/search/functions_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_3.js b/search/functions_3.js
index a130bf62..3375e692 100644
--- a/search/functions_3.js
+++ b/search/functions_3.js
@@ -1,21 +1,39 @@
var searchData=
[
- ['cache_5fparent',['cache_parent',['../namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb',1,'llfio_v2_xxx::algorithm']]],
- ['capacity',['capacity',['../classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152',1,'llfio_v2_xxx::map_handle::capacity()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe',1,'llfio_v2_xxx::mapped_file_handle::capacity()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::capacity()']]],
- ['cbegin',['cbegin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205',1,'llfio_v2_xxx::io_handle::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2',1,'llfio_v2_xxx::io_handle::const_buffer_type::cbegin()'],['../classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da',1,'llfio_v2_xxx::path_view::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
- ['cend',['cend',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36',1,'llfio_v2_xxx::io_handle::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554',1,'llfio_v2_xxx::io_handle::const_buffer_type::cend()'],['../classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042',1,'llfio_v2_xxx::path_view::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
- ['clear',['clear',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39',1,'kvstore_v1_xxx::basic_key_value_store::clear()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
- ['clone',['clone',['../classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba',1,'llfio_v2_xxx::async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
- ['clone_5fto_5fpath_5fhandle',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle']]],
- ['close',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165',1,'llfio_v2_xxx::fast_random_file_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
- ['co_5fread',['co_read',['../classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664',1,'llfio_v2_xxx::async_file_handle::co_read(io_request&lt; buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45',1,'llfio_v2_xxx::async_file_handle::co_read(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept'],['../namespacellfio__v2__xxx.html#ae108ac818c3955c032b3b9020da770eb',1,'llfio_v2_xxx::co_read(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs) noexcept'],['../namespacellfio__v2__xxx.html#a07564a34b6f382b68c6d6045c8b4b6c7',1,'llfio_v2_xxx::co_read(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::buffer_type &gt; lst) noexcept']]],
- ['co_5fwrite',['co_write',['../classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411',1,'llfio_v2_xxx::async_file_handle::co_write(io_request&lt; const_buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f',1,'llfio_v2_xxx::async_file_handle::co_write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst) noexcept'],['../namespacellfio__v2__xxx.html#a1bf4f597e8b391870215cbe005c252e6',1,'llfio_v2_xxx::co_write(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs) noexcept'],['../namespacellfio__v2__xxx.html#a136e03c52e467a86c5dc76205d19f447',1,'llfio_v2_xxx::co_write(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::const_buffer_type &gt; lst) noexcept']]],
- ['combining_5fhandle_5fadapter',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter()=default'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ad1709516df5d85349325940187f57712',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, Args &amp;&amp;... args)'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(const combining_handle_adapter &amp;)=delete']]],
- ['commit',['commit',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b',1,'kvstore_v1_xxx::basic_key_value_store::transaction::commit()'],['../classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7',1,'llfio_v2_xxx::map_handle::commit()']]],
- ['const_5fbuffer_5ftype',['const_buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type()=default'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_buffer_type(buffer_type b) noexcept']]],
- ['const_5fbuffers_5ftype',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const buffers_type &amp;)=delete']]],
- ['crbegin',['crbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['create_5fkvstore',['create_kvstore',['../namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817',1,'kvstore_v1_xxx']]],
- ['crend',['crend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['current_5fpath',['current_path',['../classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535',1,'llfio_v2_xxx::handle::current_path()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746',1,'llfio_v2_xxx::symlink_handle::current_path()']]]
+ ['cache_5fparent_960',['cache_parent',['../namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb',1,'llfio_v2_xxx::algorithm']]],
+ ['cancel_5fio_5foperation_961',['cancel_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#a67bedbb8d86cbae91475f7f0dad9e9ff',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['capacity_962',['capacity',['../classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152',1,'llfio_v2_xxx::map_handle::capacity()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe',1,'llfio_v2_xxx::mapped_file_handle::capacity()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::capacity()']]],
+ ['cbegin_963',['cbegin',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9',1,'llfio_v2_xxx::io_multiplexer::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::cbegin()'],['../classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da',1,'llfio_v2_xxx::path_view::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
+ ['cend_964',['cend',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead',1,'llfio_v2_xxx::io_multiplexer::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::cend()'],['../classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042',1,'llfio_v2_xxx::path_view::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
+ ['check_5ffor_5fany_5fcompleted_5fio_965',['check_for_any_completed_io',['../classllfio__v2__xxx_1_1io__multiplexer.html#a408f42437c337934d180d5a13a141e95',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['check_5fio_5foperation_966',['check_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#ad1f909cde3bc343d2ce27345af4a9f39',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['clear_967',['clear',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1abe01c82b4723667eb6e496f311ff39',1,'kvstore_v1_xxx::basic_key_value_store::clear()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
+ ['clear_5fstorage_968',['clear_storage',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['clone_969',['clone',['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1process__handle.html#a1c35cffac69f00052d63de262acfc3c9',1,'llfio_v2_xxx::process_handle::clone()']]],
+ ['clone_5fextents_5fto_970',['clone_extents_to',['../classllfio__v2__xxx_1_1file__handle.html#a2aea4109a6ac4323b8cb4ea435ec9c94',1,'llfio_v2_xxx::file_handle::clone_extents_to(extent_pair extent, io_handle &amp;dest, io_handle::extent_type destoffset, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a4c7af63bc67f6eacd7097e4cae3f85ce',1,'llfio_v2_xxx::file_handle::clone_extents_to(io_handle &amp;dest, deadline d={}, bool force_copy_now=false, bool emulate_if_unsupported=true) noexcept']]],
+ ['clone_5for_5fcopy_971',['clone_or_copy',['../namespacellfio__v2__xxx_1_1algorithm.html#a3c661d6cba0da25fe9e1211ede1fd004',1,'llfio_v2_xxx::algorithm']]],
+ ['clone_5fto_5fpath_5fhandle_972',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle::clone_to_path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a978bbd5a812eaf2b08f220ba94a42d5a',1,'llfio_v2_xxx::path_handle::clone_to_path_handle()']]],
+ ['close_973',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165',1,'llfio_v2_xxx::fast_random_file_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1io__handle.html#a8f174dc8dd23664251ee2a4f767283c2',1,'llfio_v2_xxx::io_handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1pipe__handle.html#ad0ae759071d6e5907e73b657a4da688e',1,'llfio_v2_xxx::pipe_handle::close()'],['../classllfio__v2__xxx_1_1process__handle.html#a609e9dd06fb8f4c15d4cac17ecfa68d9',1,'llfio_v2_xxx::process_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
+ ['close_5fpipes_974',['close_pipes',['../classllfio__v2__xxx_1_1process__handle.html#a1ddbce2629355ac9ca89eedcf5d75976',1,'llfio_v2_xxx::process_handle']]],
+ ['co_5fbarrier_975',['co_barrier',['../classllfio__v2__xxx_1_1io__handle.html#a359f780e7468407b38978cc5eb7b2555',1,'llfio_v2_xxx::io_handle']]],
+ ['co_5fread_976',['co_read',['../classllfio__v2__xxx_1_1io__handle.html#a30eca672189ffc408a4e01b064e8b78e',1,'llfio_v2_xxx::io_handle']]],
+ ['co_5fwrite_977',['co_write',['../classllfio__v2__xxx_1_1io__handle.html#a608634d1664d2a43fbdc2e18cae464ee',1,'llfio_v2_xxx::io_handle']]],
+ ['combining_5fhandle_5fadapter_978',['combining_handle_adapter',['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa69b0a7e5b852b6e1b065469c96634b1',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter()=default'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aa16c43c11b41fe40c96c2e1d66d2b4cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(target_handle_type *a, source_handle_type *b, mode _mode=mode::write, flag flags=flag::none, io_multiplexer *ctx=nullptr, Args &amp;&amp;... args)'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#ae54760bdd0fa784866e9f0e355c62077',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a29adaaf07569fbc92039fb3f2d17e479',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::combining_handle_adapter(const combining_handle_adapter &amp;)=delete']]],
+ ['commit_979',['commit',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a4a5a1fb8112101e44a38f170326e503b',1,'kvstore_v1_xxx::basic_key_value_store::transaction::commit()'],['../classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7',1,'llfio_v2_xxx::map_handle::commit()']]],
+ ['const_5fbuffer_5ftype_980',['const_buffer_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type()=default'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(pointer data, size_type len) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(span&lt; const byte &gt; s) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(buffer_type b) noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_buffer_type(span&lt; byte &gt; s) noexcept']]],
+ ['const_5fbuffers_5ftype_981',['const_buffers_type',['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_buffers_type(const buffers_type &amp;)=delete']]],
+ ['construct_982',['construct',['../classllfio__v2__xxx_1_1io__multiplexer.html#a00bf4ea26d854a7e8c9734f357d417f3',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept=0'],['../classllfio__v2__xxx_1_1io__multiplexer.html#aae31687dae2c9294cf83df6257aac029',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept=0'],['../classllfio__v2__xxx_1_1io__multiplexer.html#ae785b4e424362a5b096ee6e8014e2970',1,'llfio_v2_xxx::io_multiplexer::construct(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept=0']]],
+ ['construct_5fand_5finit_5fio_5foperation_983',['construct_and_init_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#a9b8db29df7849ede0d159122d238d24c',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a87eba5e0e73a90e6db9dbd0a1e2957b2',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) noexcept'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a3a2c02458144433ede39c57a2e34ce3d',1,'llfio_v2_xxx::io_multiplexer::construct_and_init_io_operation(span&lt; byte &gt; storage, io_handle *_h, io_operation_state_visitor *_visitor, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) noexcept']]],
+ ['contains_5fglob_984',['contains_glob',['../classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204',1,'llfio_v2_xxx::path_view_component']]],
+ ['contents_985',['contents',['../namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2',1,'llfio_v2_xxx::algorithm']]],
+ ['contents_5fvisitor_986',['contents_visitor',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_visitor()=default'],['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_visitor(stat_t::want _metadata, bool _include_files=true, bool _include_directories=true, bool _include_symlinks=true)']]],
+ ['crbegin_987',['crbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['create_5fkvstore_988',['create_kvstore',['../namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817',1,'kvstore_v1_xxx']]],
+ ['crend_989',['crend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['current_990',['current',['../classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9',1,'llfio_v2_xxx::process_handle']]],
+ ['current_5fnesting_5flevel_991',['current_nesting_level',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a3c4fac496df18522877ed70f86613212',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['current_5fpath_992',['current_path',['../classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535',1,'llfio_v2_xxx::handle::current_path()'],['../classllfio__v2__xxx_1_1process__handle.html#a8ed1f5dda9dcf9d59710acc9c91df943',1,'llfio_v2_xxx::process_handle::current_path()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746',1,'llfio_v2_xxx::symlink_handle::current_path()']]],
+ ['current_5fprocess_5fmemory_5fusage_993',['current_process_memory_usage',['../namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92',1,'llfio_v2_xxx::utils']]],
+ ['current_5fstate_994',['current_state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::current_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::current_state()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::current_state()']]],
+ ['current_5fwork_5fitem_995',['current_work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#a1184eb72e54c2c1070056e95f582d1c2',1,'llfio_v2_xxx::dynamic_thread_pool_group']]]
];
diff --git a/search/functions_4.html b/search/functions_4.html
index 8985ff27..911304e6 100644
--- a/search/functions_4.html
+++ b/search/functions_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_4.js b/search/functions_4.js
index 518c0fa8..2635a7ab 100644
--- a/search/functions_4.js
+++ b/search/functions_4.js
@@ -1,13 +1,18 @@
var searchData=
[
- ['data',['data',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d',1,'llfio_v2_xxx::io_handle::buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5',1,'llfio_v2_xxx::io_handle::buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e',1,'llfio_v2_xxx::io_handle::const_buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b',1,'llfio_v2_xxx::io_handle::const_buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() const noexcept']]],
- ['decommit',['decommit',['../classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75',1,'llfio_v2_xxx::map_handle']]],
- ['default_5fvalue',['default_value',['../namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c',1,'llfio_v2_xxx::storage_profile']]],
- ['dependencies',['dependencies',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8',1,'kvstore_v1_xxx::basic_key_value_store::transaction']]],
- ['directory',['directory',['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
- ['directory_5fhandle',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e',1,'llfio_v2_xxx::directory_handle::directory_handle()'],['../classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552',1,'llfio_v2_xxx::directory_handle::directory_handle(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8',1,'llfio_v2_xxx::directory_handle::directory_handle(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824',1,'llfio_v2_xxx::directory_handle::directory_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
- ['disable_5fkqueues',['disable_kqueues',['../classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d',1,'llfio_v2_xxx::io_service']]],
- ['do_5fnot_5fstore',['do_not_store',['../classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d',1,'llfio_v2_xxx::map_handle']]],
- ['done',['done',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
- ['drop_5ffilesystem_5fcache',['drop_filesystem_cache',['../namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a',1,'llfio_v2_xxx::utils']]]
+ ['data_996',['data',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3',1,'llfio_v2_xxx::io_multiplexer::buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c',1,'llfio_v2_xxx::io_multiplexer::buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::data() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::data() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::data() const noexcept']]],
+ ['decommit_997',['decommit',['../classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75',1,'llfio_v2_xxx::map_handle']]],
+ ['default_5fmetadata_998',['default_metadata',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['default_5fvalue_999',['default_value',['../namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c',1,'llfio_v2_xxx::storage_profile']]],
+ ['dependencies_1000',['dependencies',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8',1,'kvstore_v1_xxx::basic_key_value_store::transaction']]],
+ ['directory_1001',['directory',['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
+ ['directory_5fhandle_1002',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e',1,'llfio_v2_xxx::directory_handle::directory_handle()'],['../classllfio__v2__xxx_1_1directory__handle.html#abc2ee09a6199fa2be9869943e6787c1a',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1directory__handle.html#aa4670fd2bc968291f5e0c8a98d675aae',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552',1,'llfio_v2_xxx::directory_handle::directory_handle(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8',1,'llfio_v2_xxx::directory_handle::directory_handle(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824',1,'llfio_v2_xxx::directory_handle::directory_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
+ ['directory_5fopen_5ffailed_1003',['directory_open_failed',['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d',1,'llfio_v2_xxx::algorithm::compare_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698',1,'llfio_v2_xxx::algorithm::reduce_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13',1,'llfio_v2_xxx::algorithm::summarize_visitor::directory_open_failed()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2',1,'llfio_v2_xxx::algorithm::traverse_visitor::directory_open_failed()']]],
+ ['do_5fio_5fhandle_5fallocate_5fregistered_5fbuffer_1004',['do_io_handle_allocate_registered_buffer',['../classllfio__v2__xxx_1_1io__multiplexer.html#a3e79fd19de80e77c274b93d0d01b2f10',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fderegister_1005',['do_io_handle_deregister',['../classllfio__v2__xxx_1_1io__multiplexer.html#a7c9d163a9e1ca06acbce1f135cfef087',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fmax_5fbuffers_1006',['do_io_handle_max_buffers',['../classllfio__v2__xxx_1_1io__multiplexer.html#a1cc4f56ad15d1bed49d68c56a278ad0c',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fio_5fhandle_5fregister_1007',['do_io_handle_register',['../classllfio__v2__xxx_1_1io__multiplexer.html#a04d99f9603d31c674aaf865d58abc4d6',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['do_5fnot_5fstore_1008',['do_not_store',['../classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d',1,'llfio_v2_xxx::map_handle']]],
+ ['done_1009',['done',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
+ ['drop_5ffilesystem_5fcache_1010',['drop_filesystem_cache',['../namespacellfio__v2__xxx_1_1utils.html#abacefaf60ae391226c4775cf8a61276a',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/functions_5.html b/search/functions_5.html
index 03149184..61b920db 100644
--- a/search/functions_5.html
+++ b/search/functions_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_5.js b/search/functions_5.js
index 1f09f523..9e08e447 100644
--- a/search/functions_5.js
+++ b/search/functions_5.js
@@ -1,17 +1,21 @@
var searchData=
[
- ['emplace',['emplace',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['emplace_5fback',['emplace_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['empty',['empty',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a',1,'kvstore_v1_xxx::basic_key_value_store::empty()'],['../classllfio__v2__xxx_1_1path__view__component.html#a467256884725db92974c8a5a2c786bc2',1,'llfio_v2_xxx::path_view_component::empty()'],['../classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501',1,'llfio_v2_xxx::path_view::empty()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08',1,'llfio_v2_xxx::storage_profile::storage_profile::empty()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::empty()']]],
- ['end',['end',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8',1,'llfio_v2_xxx::io_handle::buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2',1,'llfio_v2_xxx::io_handle::buffer_type::end() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77',1,'llfio_v2_xxx::io_handle::const_buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5',1,'llfio_v2_xxx::io_handle::const_buffer_type::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453',1,'llfio_v2_xxx::path_view::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e',1,'llfio_v2_xxx::path_view::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97',1,'llfio_v2_xxx::storage_profile::storage_profile::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4',1,'llfio_v2_xxx::storage_profile::storage_profile::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() const noexcept']]],
- ['entity_5ffrom_5fbuffer',['entity_from_buffer',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a4cdf15b69bf6f375ec7083d639f76358',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entity_5ffrom_5fstring',['entity_from_string',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#afb28aedaf5caa53e851165a4f1927207',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['entity_5ftype',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type(value_type _value, bool _exclusive) noexcept']]],
- ['enumerate_5fkvstores',['enumerate_kvstores',['../namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447',1,'kvstore_v1_xxx']]],
- ['erase',['erase',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator pos)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator first, const_iterator last)']]],
- ['error',['error',['../classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3',1,'llfio_v2_xxx::error']]],
- ['extension',['extension',['../classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58',1,'llfio_v2_xxx::path_view_component::extension()'],['../classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1',1,'llfio_v2_xxx::path_view::extension()']]],
- ['extent',['extent',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a6d28de635fdfadeb275524cab262ebab',1,'llfio_v2_xxx::file_handle::extent_guard']]],
- ['extent_5fguard',['extent_guard',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#adefa54a7016ff90df967f04b665bf16d',1,'llfio_v2_xxx::file_handle::extent_guard::extent_guard()'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aee5f29089f79e2fcec275168650b35f4',1,'llfio_v2_xxx::file_handle::extent_guard::extent_guard(extent_guard &amp;&amp;o) noexcept']]],
- ['extents',['extents',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0',1,'llfio_v2_xxx::fast_random_file_handle::extents()'],['../classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2',1,'llfio_v2_xxx::file_handle::extents()'],['../namespacellfio__v2__xxx.html#a6f9a72b547dc542401a2d17b1c1e2e15',1,'llfio_v2_xxx::extents()']]]
+ ['emplace_1011',['emplace',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['emplace_5fback_1012',['emplace_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['empty_1013',['empty',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abdac2581030d62661e7394ca16dbd40a',1,'kvstore_v1_xxx::basic_key_value_store::empty()'],['../classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1',1,'llfio_v2_xxx::path_view_component::empty()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08',1,'llfio_v2_xxx::storage_profile::storage_profile::empty()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::empty()']]],
+ ['end_1014',['end',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3',1,'llfio_v2_xxx::io_multiplexer::buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6',1,'llfio_v2_xxx::io_multiplexer::buffer_type::end() const noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::end() noexcept'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207',1,'llfio_v2_xxx::path_view::end() const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae',1,'llfio_v2_xxx::path_view::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97',1,'llfio_v2_xxx::storage_profile::storage_profile::end() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4',1,'llfio_v2_xxx::storage_profile::storage_profile::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623',1,'llfio_v2_xxx::symlink_handle::buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::end() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::end() const noexcept']]],
+ ['entity_5ffrom_5fbuffer_1015',['entity_from_buffer',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a4cdf15b69bf6f375ec7083d639f76358',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entity_5ffrom_5fstring_1016',['entity_from_string',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#afb28aedaf5caa53e851165a4f1927207',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['entity_5ftype_1017',['entity_type',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::entity_type(value_type _value, bool _exclusive) noexcept']]],
+ ['enumerate_5fkvstores_1018',['enumerate_kvstores',['../namespacekvstore__v1__xxx.html#a09144ea19f3c63cd0dab9177ae073447',1,'kvstore_v1_xxx']]],
+ ['environment_1019',['environment',['../classllfio__v2__xxx_1_1process__handle.html#ab158116bbd3d889cc4c06d205f14dca4',1,'llfio_v2_xxx::process_handle']]],
+ ['erase_1020',['erase',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator pos)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::erase(const_iterator first, const_iterator last)']]],
+ ['error_1021',['error',['../classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3',1,'llfio_v2_xxx::error']]],
+ ['error_5finfo_1022',['error_info',['../structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4',1,'llfio_v2_xxx::error_info']]],
+ ['error_5fpipe_1023',['error_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a79c79ca17f326098425fcae8dfb758aa',1,'llfio_v2_xxx::process_handle::error_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a2331582128de99fd5aa43958eb8bf5cd',1,'llfio_v2_xxx::process_handle::error_pipe() const noexcept']]],
+ ['exists_1024',['exists',['../classllfio__v2__xxx_1_1path__handle.html#a03229b163152b540c3eb6edd41cf5d32',1,'llfio_v2_xxx::path_handle::exists(path_view_type path) const noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad9352e3a23b30b446b22933df9ab9623',1,'llfio_v2_xxx::path_handle::exists(const path_handle &amp;base, path_view_type path) noexcept']]],
+ ['extension_1025',['extension',['../classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58',1,'llfio_v2_xxx::path_view_component']]],
+ ['extent_1026',['extent',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a4402da52891bbf8ada0bb7a2efc4f51e',1,'llfio_v2_xxx::lockable_io_handle::extent_guard']]],
+ ['extent_5fguard_1027',['extent_guard',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a73f10ce38d7c7980db6ddf50d7ed4ac7',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::extent_guard()'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#af48bf68f88261bbf36354d4572d2c69e',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::extent_guard(extent_guard &amp;&amp;o) noexcept']]],
+ ['extents_1028',['extents',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a8026691789a70593329230076357fc96',1,'llfio_v2_xxx::fast_random_file_handle::extents()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e30345e9aa4fa263b009efe2c97466a',1,'llfio_v2_xxx::file_handle::extents()'],['../namespacellfio__v2__xxx.html#ad4f1cfcc3469ace25264a09770b0cdef',1,'llfio_v2_xxx::extents()']]]
];
diff --git a/search/functions_6.html b/search/functions_6.html
index c5061236..dc70a4a0 100644
--- a/search/functions_6.html
+++ b/search/functions_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_6.js b/search/functions_6.js
index 05cbf6c5..76a839ba 100644
--- a/search/functions_6.js
+++ b/search/functions_6.js
@@ -1,21 +1,24 @@
var searchData=
[
- ['fast_5frandom_5ffile',['fast_random_file',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1',1,'llfio_v2_xxx::fast_random_file_handle']]],
- ['fast_5frandom_5ffile_5fhandle',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle()=default'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(extent_type length, span&lt; const byte &gt; seed)'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(const fast_random_file_handle &amp;)=delete']]],
- ['file',['file',['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
- ['file_5fbuffer_5fdefault_5fsize',['file_buffer_default_size',['../namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778',1,'llfio_v2_xxx::utils']]],
- ['file_5fhandle',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2',1,'llfio_v2_xxx::file_handle::file_handle()'],['../classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42',1,'llfio_v2_xxx::file_handle::file_handle(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7',1,'llfio_v2_xxx::file_handle::file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
- ['filename',['filename',['../classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a',1,'llfio_v2_xxx::path_view']]],
- ['fill',['fill',['../structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4',1,'llfio_v2_xxx::stat_t::fill()'],['../structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb',1,'llfio_v2_xxx::statfs_t::fill()']]],
- ['fill_5frandom_5fentities',['fill_random_entities',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#ab33ccb32052633a55cb3bb5d1bbdf52b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['flags',['flags',['../classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c',1,'llfio_v2_xxx::handle']]],
- ['flush_5fmodified_5fdata',['flush_modified_data',['../namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8',1,'llfio_v2_xxx::utils']]],
- ['front',['front',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front() const']]],
- ['frozen',['frozen',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3530afb8619a4d00448db65c19b471e1',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['fs_5fhandle',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97',1,'llfio_v2_xxx::fs_handle::fs_handle()'],['../classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d',1,'llfio_v2_xxx::fs_handle::fs_handle(dev_t devid, ino_t inode)'],['../classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f',1,'llfio_v2_xxx::fs_handle::fs_handle(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073',1,'llfio_v2_xxx::fs_handle::fs_handle(const fs_handle &amp;)=delete']]],
- ['fs_5fmutex_5fappend',['fs_mutex_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
- ['fs_5fmutex_5fbyte_5franges',['fs_mutex_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9d4bddc98b5f19171a7230811250cad0',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges']]],
- ['fs_5fmutex_5flock_5ffiles',['fs_mutex_lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a1c81828f9f391f848a57cf8046395ef3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files']]],
- ['fs_5fmutex_5fmap',['fs_mutex_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a23750199fded35429d27ec4824b65c18',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['fs_5fmutex_5fsafe_5fbyte_5franges',['fs_mutex_safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#ada8dfb7f986806edf5e22c6364ad0d5a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges']]]
+ ['fast_5frandom_5ffile_1029',['fast_random_file',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1',1,'llfio_v2_xxx::fast_random_file_handle']]],
+ ['fast_5frandom_5ffile_5fhandle_1030',['fast_random_file_handle',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle()=default'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(extent_type length, span&lt; const byte &gt; seed)'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247',1,'llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle(const fast_random_file_handle &amp;)=delete']]],
+ ['file_1031',['file',['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
+ ['file_5fbuffer_5fdefault_5fsize_1032',['file_buffer_default_size',['../namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6',1,'llfio_v2_xxx::utils']]],
+ ['file_5fhandle_1033',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2',1,'llfio_v2_xxx::file_handle::file_handle()'],['../classllfio__v2__xxx_1_1file__handle.html#a543ed77b286d9838f4e8ac0263089da1',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1file__handle.html#a52c20d224c94e42ecb290fe9ad3bd5a2',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42',1,'llfio_v2_xxx::file_handle::file_handle(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7',1,'llfio_v2_xxx::file_handle::file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#afd1ae18344268c59c0fad54fecdf8746',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#ac37c3543feb868914199515ddd9d445e',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a01c1f1c49426ec9193a83e3e4488ad42',1,'llfio_v2_xxx::file_handle::file_handle(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a98c4d089c8d05f1a1ae934a8afbaa8fd',1,'llfio_v2_xxx::file_handle::file_handle(io_handle &amp;&amp;o) noexcept']]],
+ ['filename_1034',['filename',['../classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a',1,'llfio_v2_xxx::path_view']]],
+ ['fill_1035',['fill',['../structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4',1,'llfio_v2_xxx::stat_t::fill()'],['../structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb',1,'llfio_v2_xxx::statfs_t::fill()']]],
+ ['fill_5frandom_5fentities_1036',['fill_random_entities',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#ab33ccb32052633a55cb3bb5d1bbdf52b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['finished_1037',['finished',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749',1,'llfio_v2_xxx::algorithm::contents_visitor::finished()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b',1,'llfio_v2_xxx::algorithm::traverse_visitor::finished()']]],
+ ['flags_1038',['flags',['../classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c',1,'llfio_v2_xxx::handle']]],
+ ['flush_5finited_5fio_5foperations_1039',['flush_inited_io_operations',['../classllfio__v2__xxx_1_1io__multiplexer.html#ababbe4b445f0063c75181021fe782484',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['flush_5fmodified_5fdata_1040',['flush_modified_data',['../namespacellfio__v2__xxx_1_1utils.html#ae1d9ee5d6d391f39f62dacbc8c957ae8',1,'llfio_v2_xxx::utils']]],
+ ['formatting_1041',['formatting',['../classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948',1,'llfio_v2_xxx::path_view_component']]],
+ ['front_1042',['front',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::front() const']]],
+ ['frozen_1043',['frozen',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3530afb8619a4d00448db65c19b471e1',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['fs_5fhandle_1044',['fs_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97',1,'llfio_v2_xxx::fs_handle::fs_handle()'],['../classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d',1,'llfio_v2_xxx::fs_handle::fs_handle(dev_t devid, ino_t inode)'],['../classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f',1,'llfio_v2_xxx::fs_handle::fs_handle(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073',1,'llfio_v2_xxx::fs_handle::fs_handle(const fs_handle &amp;)=delete']]],
+ ['fs_5fmutex_5fappend_1045',['fs_mutex_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append']]],
+ ['fs_5fmutex_5fbyte_5franges_1046',['fs_mutex_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9d4bddc98b5f19171a7230811250cad0',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges']]],
+ ['fs_5fmutex_5flock_5ffiles_1047',['fs_mutex_lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a1c81828f9f391f848a57cf8046395ef3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files']]],
+ ['fs_5fmutex_5fmap_1048',['fs_mutex_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a23750199fded35429d27ec4824b65c18',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['fs_5fmutex_5fsafe_5fbyte_5franges_1049',['fs_mutex_safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#ada8dfb7f986806edf5e22c6364ad0d5a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges']]]
];
diff --git a/search/functions_7.html b/search/functions_7.html
index 83a7b84b..7de31067 100644
--- a/search/functions_7.html
+++ b/search/functions_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_7.js b/search/functions_7.js
index 5a23a031..8de02064 100644
--- a/search/functions_7.js
+++ b/search/functions_7.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['generic_5ferror',['generic_error',['../namespacellfio__v2__xxx.html#ad0b071d59b67ebfa3f6a31197cfd61db',1,'llfio_v2_xxx']]]
+ ['generic_5ferror_1050',['generic_error',['../namespacellfio__v2__xxx.html#ad0b071d59b67ebfa3f6a31197cfd61db',1,'llfio_v2_xxx']]],
+ ['get_5fcompleted_5fread_1051',['get_completed_read',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::get_completed_read()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::get_completed_read()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::get_completed_read()']]],
+ ['get_5fcompleted_5fwrite_5for_5fbarrier_1052',['get_completed_write_or_barrier',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::get_completed_write_or_barrier()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::get_completed_write_or_barrier()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::get_completed_write_or_barrier()']]],
+ ['group_5fcomplete_1053',['group_complete',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#ae8d6ba54f52e216edd37474f19731fd8',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]]
];
diff --git a/search/functions_8.html b/search/functions_8.html
index b55f0e65..7422be24 100644
--- a/search/functions_8.html
+++ b/search/functions_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_8.js b/search/functions_8.js
index bbcca42b..226d162b 100644
--- a/search/functions_8.js
+++ b/search/functions_8.js
@@ -1,4 +1,14 @@
var searchData=
[
- ['handle',['handle',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#aaf9625db67bae417deb305824c99add3',1,'llfio_v2_xxx::file_handle::extent_guard::handle()'],['../classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4',1,'llfio_v2_xxx::handle::handle()'],['../classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4',1,'llfio_v2_xxx::handle::handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11',1,'llfio_v2_xxx::handle::handle(const handle &amp;)=delete'],['../classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0',1,'llfio_v2_xxx::handle::handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::handle()']]]
+ ['handle_1054',['handle',['../classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4',1,'llfio_v2_xxx::handle::handle()'],['../classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4',1,'llfio_v2_xxx::handle::handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11',1,'llfio_v2_xxx::handle::handle(const handle &amp;)=delete'],['../classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0',1,'llfio_v2_xxx::handle::handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a1c0a4b841e0f37ffdcb008ad0caa17f4',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a3ff0de8b3c00cccd97154d6e59be3ec5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aaaad1f98c333683535167a9f8e4be469',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::handle()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aaa03fdedf4112f42482cf7bc24c4f3ad',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::handle()']]],
+ ['handles_1055',['handles',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a0d45637f8c603e9f132f99d7c539ee22',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['has_5fextension_1056',['has_extension',['../classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4',1,'llfio_v2_xxx::path_view_component']]],
+ ['has_5ffilename_1057',['has_filename',['../classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e',1,'llfio_v2_xxx::path_view']]],
+ ['has_5fparent_5fpath_1058',['has_parent_path',['../classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca',1,'llfio_v2_xxx::path_view']]],
+ ['has_5frelative_5fpath_1059',['has_relative_path',['../classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fdirectory_1060',['has_root_directory',['../classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fname_1061',['has_root_name',['../classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f',1,'llfio_v2_xxx::path_view']]],
+ ['has_5froot_5fpath_1062',['has_root_path',['../classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257',1,'llfio_v2_xxx::path_view']]],
+ ['has_5fstem_1063',['has_stem',['../classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0',1,'llfio_v2_xxx::path_view_component']]],
+ ['has_5fzero_5ftermination_1064',['has_zero_termination',['../classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/functions_9.html b/search/functions_9.html
index c73f07bb..befd4faa 100644
--- a/search/functions_9.html
+++ b/search/functions_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_9.js b/search/functions_9.js
index 396aa6df..08dc0e02 100644
--- a/search/functions_9.js
+++ b/search/functions_9.js
@@ -1,23 +1,38 @@
var searchData=
[
- ['in_5fplace_5fattach',['in_place_attach',['../namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5',1,'llfio_v2_xxx::in_place_attach(map_handle &amp;mh) noexcept'],['../namespacellfio__v2__xxx.html#a933649fdb097431a1b84360b9a5ed5c4',1,'llfio_v2_xxx::in_place_attach(mapped_file_handle &amp;mfh) noexcept']]],
- ['insert',['insert',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, value_type &amp;&amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, std::initializer_list&lt; value_type &gt; il)']]],
- ['interruption_5fsignal',['interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914',1,'llfio_v2_xxx::io_service']]],
- ['invoke',['invoke',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd',1,'llfio_v2_xxx::storage_profile::item_erased']]],
- ['io_5fhandle',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762',1,'llfio_v2_xxx::io_handle::io_handle()'],['../classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3',1,'llfio_v2_xxx::io_handle::io_handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b',1,'llfio_v2_xxx::io_handle::io_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7',1,'llfio_v2_xxx::io_handle::io_handle(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737',1,'llfio_v2_xxx::io_handle::io_handle(const io_handle &amp;)=delete']]],
- ['io_5frequest',['io_request',['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61',1,'llfio_v2_xxx::directory_handle::io_request::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::io_request()']]],
- ['io_5fservice',['io_service',['../classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835',1,'llfio_v2_xxx::io_service']]],
- ['is_5fappend_5fonly',['is_append_only',['../classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb',1,'llfio_v2_xxx::handle::is_append_only()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d',1,'llfio_v2_xxx::native_handle_type::is_append_only()']]],
- ['is_5fdirectory',['is_directory',['../classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce',1,'llfio_v2_xxx::handle::is_directory()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd',1,'llfio_v2_xxx::native_handle_type::is_directory()']]],
- ['is_5fmultiplexer',['is_multiplexer',['../classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a',1,'llfio_v2_xxx::handle::is_multiplexer()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c',1,'llfio_v2_xxx::native_handle_type::is_multiplexer()']]],
- ['is_5fnvram',['is_nvram',['../classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82',1,'llfio_v2_xxx::section_handle::is_nvram()'],['../classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887',1,'llfio_v2_xxx::map_handle::is_nvram()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7',1,'llfio_v2_xxx::mapped_file_handle::is_nvram()']]],
- ['is_5foverlapped',['is_overlapped',['../classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e',1,'llfio_v2_xxx::handle::is_overlapped()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5',1,'llfio_v2_xxx::native_handle_type::is_overlapped()']]],
- ['is_5fprocess',['is_process',['../classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb',1,'llfio_v2_xxx::handle::is_process()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45',1,'llfio_v2_xxx::native_handle_type::is_process()']]],
- ['is_5freadable',['is_readable',['../classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254',1,'llfio_v2_xxx::handle::is_readable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672',1,'llfio_v2_xxx::native_handle_type::is_readable()']]],
- ['is_5fregular',['is_regular',['../classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed',1,'llfio_v2_xxx::handle::is_regular()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd',1,'llfio_v2_xxx::native_handle_type::is_regular()']]],
- ['is_5fsection',['is_section',['../classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19',1,'llfio_v2_xxx::handle::is_section()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8',1,'llfio_v2_xxx::native_handle_type::is_section()']]],
- ['is_5fseekable',['is_seekable',['../classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632',1,'llfio_v2_xxx::handle::is_seekable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca',1,'llfio_v2_xxx::native_handle_type::is_seekable()']]],
- ['is_5fsymlink',['is_symlink',['../classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0',1,'llfio_v2_xxx::handle::is_symlink()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32',1,'llfio_v2_xxx::native_handle_type::is_symlink()']]],
- ['is_5fvalid',['is_valid',['../classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2',1,'llfio_v2_xxx::handle::is_valid()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444',1,'llfio_v2_xxx::native_handle_type::is_valid()']]],
- ['is_5fwritable',['is_writable',['../classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852',1,'llfio_v2_xxx::handle::is_writable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078',1,'llfio_v2_xxx::native_handle_type::is_writable()']]]
+ ['implementation_5fdescription_1065',['implementation_description',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#ab9e2295ae9773e218e21cd2cd28355bf',1,'llfio_v2_xxx::dynamic_thread_pool_group']]],
+ ['in_5fpipe_1066',['in_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a1d0b03dfcc6aa09f0fdba5ae6f794dd7',1,'llfio_v2_xxx::process_handle::in_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a9625e344aa94845353aaa144e13cf137',1,'llfio_v2_xxx::process_handle::in_pipe() const noexcept']]],
+ ['in_5fplace_5fattach_1067',['in_place_attach',['../namespacellfio__v2__xxx.html#a96135062edc7cb1fa33460ff521498f5',1,'llfio_v2_xxx::in_place_attach(map_handle &amp;mh) noexcept'],['../namespacellfio__v2__xxx.html#a933649fdb097431a1b84360b9a5ed5c4',1,'llfio_v2_xxx::in_place_attach(mapped_file_handle &amp;mfh) noexcept']]],
+ ['init_5fio_5foperation_1068',['init_io_operation',['../classllfio__v2__xxx_1_1io__multiplexer.html#ad0b9a8df7efdc2defbc2f09c20855e18',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['insert_1069',['insert',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, value_type &amp;&amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, std::initializer_list&lt; value_type &gt; il)']]],
+ ['invoke_1070',['invoke',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb',1,'llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state::invoke()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd',1,'llfio_v2_xxx::storage_profile::item_erased::invoke()']]],
+ ['io_5faware_5fnext_1071',['io_aware_next',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#ab92cec481e76ed36075100c0bf9f8821',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['io_5faware_5fwork_5fitem_1072',['io_aware_work_item',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a9df0ab84dd9f69b40b9117a79c8eca78',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['io_5fhandle_1073',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762',1,'llfio_v2_xxx::io_handle::io_handle()'],['../classllfio__v2__xxx_1_1io__handle.html#afece0f6d7018b58b4aa8de53b30d5367',1,'llfio_v2_xxx::io_handle::io_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1io__handle.html#a34eb160bdacbc292992218a34a6df785',1,'llfio_v2_xxx::io_handle::io_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7',1,'llfio_v2_xxx::io_handle::io_handle(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737',1,'llfio_v2_xxx::io_handle::io_handle(const io_handle &amp;)=delete']]],
+ ['io_5frequest_1074',['io_request',['../structllfio__v2__xxx_1_1directory__handle_1_1io__request.html#aaa243dbd10f9b7bab5e42d971804ab61',1,'llfio_v2_xxx::directory_handle::io_request::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::io_request()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::io_request()']]],
+ ['io_5fstate_5frequirements_1075',['io_state_requirements',['../classllfio__v2__xxx_1_1io__multiplexer.html#afcc26074f96f9b403c539171335772b7',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['is_5fabsolute_1076',['is_absolute',['../classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86',1,'llfio_v2_xxx::path_view']]],
+ ['is_5fallocation_1077',['is_allocation',['../classllfio__v2__xxx_1_1handle.html#a028fbead3b3c4d4eed2da7fa51c75036',1,'llfio_v2_xxx::handle::is_allocation()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763',1,'llfio_v2_xxx::native_handle_type::is_allocation()']]],
+ ['is_5fappend_5fonly_1078',['is_append_only',['../classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb',1,'llfio_v2_xxx::handle::is_append_only()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d',1,'llfio_v2_xxx::native_handle_type::is_append_only()']]],
+ ['is_5fcompleted_1079',['is_completed',['../namespacellfio__v2__xxx.html#a7d6ac826fcd88e00c7ac63556cef6c70',1,'llfio_v2_xxx']]],
+ ['is_5fdirectory_1080',['is_directory',['../classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce',1,'llfio_v2_xxx::handle::is_directory()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd',1,'llfio_v2_xxx::native_handle_type::is_directory()']]],
+ ['is_5ffinished_1081',['is_finished',['../namespacellfio__v2__xxx.html#a7f32245d09ba18756513c19b053fd057',1,'llfio_v2_xxx']]],
+ ['is_5finitialised_1082',['is_initialised',['../namespacellfio__v2__xxx.html#a6ec2a3fb2ff559325b89eb7003503d51',1,'llfio_v2_xxx']]],
+ ['is_5finitiated_1083',['is_initiated',['../namespacellfio__v2__xxx.html#a23a7dfe3b18d247bb4202a638bea1f26',1,'llfio_v2_xxx']]],
+ ['is_5fmultiplexable_1084',['is_multiplexable',['../classllfio__v2__xxx_1_1handle.html#ade2416b9154d1e56937c99cd514324f8',1,'llfio_v2_xxx::handle']]],
+ ['is_5fmultiplexer_1085',['is_multiplexer',['../classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a',1,'llfio_v2_xxx::handle::is_multiplexer()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c',1,'llfio_v2_xxx::native_handle_type::is_multiplexer()']]],
+ ['is_5fnonblocking_1086',['is_nonblocking',['../classllfio__v2__xxx_1_1handle.html#a501aa723172f6852e82738b0969278ae',1,'llfio_v2_xxx::handle::is_nonblocking()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa',1,'llfio_v2_xxx::native_handle_type::is_nonblocking()']]],
+ ['is_5fnvram_1087',['is_nvram',['../classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82',1,'llfio_v2_xxx::section_handle::is_nvram()'],['../classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887',1,'llfio_v2_xxx::map_handle::is_nvram()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7',1,'llfio_v2_xxx::mapped_file_handle::is_nvram()']]],
+ ['is_5fpipe_1088',['is_pipe',['../classllfio__v2__xxx_1_1handle.html#ac52242425f6e71c3fddcb6cdbe2c3b4e',1,'llfio_v2_xxx::handle::is_pipe()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e',1,'llfio_v2_xxx::native_handle_type::is_pipe()']]],
+ ['is_5fprocess_1089',['is_process',['../classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb',1,'llfio_v2_xxx::handle::is_process()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45',1,'llfio_v2_xxx::native_handle_type::is_process()']]],
+ ['is_5freadable_1090',['is_readable',['../classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254',1,'llfio_v2_xxx::handle::is_readable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672',1,'llfio_v2_xxx::native_handle_type::is_readable()']]],
+ ['is_5fregular_1091',['is_regular',['../classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed',1,'llfio_v2_xxx::handle::is_regular()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd',1,'llfio_v2_xxx::native_handle_type::is_regular()']]],
+ ['is_5frelative_1092',['is_relative',['../classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30',1,'llfio_v2_xxx::path_view']]],
+ ['is_5frunning_1093',['is_running',['../classllfio__v2__xxx_1_1process__handle.html#a62c35c45a6d06a3b9f41620d0e6221a9',1,'llfio_v2_xxx::process_handle']]],
+ ['is_5fsection_1094',['is_section',['../classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19',1,'llfio_v2_xxx::handle::is_section()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8',1,'llfio_v2_xxx::native_handle_type::is_section()']]],
+ ['is_5fseekable_1095',['is_seekable',['../classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632',1,'llfio_v2_xxx::handle::is_seekable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca',1,'llfio_v2_xxx::native_handle_type::is_seekable()']]],
+ ['is_5fsocket_1096',['is_socket',['../classllfio__v2__xxx_1_1handle.html#ac9280ab1e6f2a65bc73ee0cba5a8deea',1,'llfio_v2_xxx::handle::is_socket()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450',1,'llfio_v2_xxx::native_handle_type::is_socket()']]],
+ ['is_5fsymlink_1097',['is_symlink',['../classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0',1,'llfio_v2_xxx::handle::is_symlink()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32',1,'llfio_v2_xxx::native_handle_type::is_symlink()']]],
+ ['is_5fvalid_1098',['is_valid',['../classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2',1,'llfio_v2_xxx::handle::is_valid()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444',1,'llfio_v2_xxx::native_handle_type::is_valid()']]],
+ ['is_5fwritable_1099',['is_writable',['../classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852',1,'llfio_v2_xxx::handle::is_writable()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078',1,'llfio_v2_xxx::native_handle_type::is_writable()']]]
];
diff --git a/search/functions_a.html b/search/functions_a.html
index f10ad638..a81e9633 100644
--- a/search/functions_a.html
+++ b/search/functions_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_a.js b/search/functions_a.js
index 321dd880..408446fa 100644
--- a/search/functions_a.js
+++ b/search/functions_a.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['kernel_5fcaching',['kernel_caching',['../classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946',1,'llfio_v2_xxx::handle']]],
- ['key_5findex_5fsize',['key_index_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad22582ec2ab7d95e721237b0be5cfda9',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size() const noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a11a8bb4729443919359e42ce426d8849',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size(size_type bytes) noexcept=0']]],
- ['key_5fsize',['key_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae130e459c70eba09f4af3891dc3ae07f',1,'kvstore_v1_xxx::basic_key_value_store']]]
+ ['kernel_5fcaching_1100',['kernel_caching',['../classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946',1,'llfio_v2_xxx::handle']]],
+ ['key_5findex_5fsize_1101',['key_index_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad22582ec2ab7d95e721237b0be5cfda9',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size() const noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a11a8bb4729443919359e42ce426d8849',1,'kvstore_v1_xxx::basic_key_value_store::key_index_size(size_type bytes) noexcept=0']]],
+ ['key_5fsize_1102',['key_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae130e459c70eba09f4af3891dc3ae07f',1,'kvstore_v1_xxx::basic_key_value_store']]]
];
diff --git a/search/functions_b.html b/search/functions_b.html
index 172ea1b3..345265d6 100644
--- a/search/functions_b.html
+++ b/search/functions_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_b.js b/search/functions_b.js
index a1e1876b..4977b090 100644
--- a/search/functions_b.js
+++ b/search/functions_b.js
@@ -1,9 +1,16 @@
var searchData=
[
- ['length',['length',['../classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441',1,'llfio_v2_xxx::section_handle::length()'],['../classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7',1,'llfio_v2_xxx::map_handle::length()'],['../namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9',1,'llfio_v2_xxx::length(const section_handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a70e68bcf05636966ffefe001b903487e',1,'llfio_v2_xxx::length(const map_handle &amp;self) noexcept']]],
- ['llfio_5ftemplate',['LLFIO_TEMPLATE',['../classllfio__v2__xxx_1_1path__view__component.html#abec4610490eafa45921d1f8b0eaa7591',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const'],['../classllfio__v2__xxx_1_1path__view__component.html#a5f6999a46c792e260428497a722fc8ff',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_acceptable&lt; Char &gt;)) const expr int compare(const Char *s) const noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#aaf8f8d21319fb02bdb0442d1fea2c7c4',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac114eb6e2ed74625c8dc89c6499c05a1',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(path_view_component'],['../classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt; &amp;&amp;is_source_chartype_acceptable&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) struct c_str'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::LLFIO_TEMPLATE()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std']]],
- ['lock',['lock',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entities_type entities, deadline d=deadline(), bool spin_not_sleep=false) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a33dcc1d37df90ac5dd85a754f9ffce04',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entity_type entity, deadline d=deadline(), bool spin_not_sleep=false) noexcept']]],
- ['lock_5ffiles',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(lock_files &amp;&amp;o) noexcept']]],
- ['lock_5frange',['lock_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3b27d0f83fb72ebaa1e6a2eead9bec3e',1,'llfio_v2_xxx::fast_random_file_handle::lock_range()'],['../classllfio__v2__xxx_1_1file__handle.html#a5a9910116cc5751398e6b55f06a9a793',1,'llfio_v2_xxx::file_handle::lock_range(extent_type offset, extent_type bytes, lock_kind kind, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a3c5c229b11f488d0e9bff74c65737db2',1,'llfio_v2_xxx::file_handle::lock_range(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a4055bb02680af02dcc189f0461bad503',1,'llfio_v2_xxx::file_handle::lock_range(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['log',['log',['../namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826',1,'llfio_v2_xxx']]]
+ ['launch_5fprocess_1103',['launch_process',['../classllfio__v2__xxx_1_1process__handle.html#a31aac80e9bf925a62485f618c892a40f',1,'llfio_v2_xxx::process_handle::launch_process(path_view path, span&lt; path_view_component &gt; args, span&lt; path_view_component &gt; env= *current().environment(), flag flags=flag::wait_on_close) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#ad9e7e0f8b50ba19ec635ff76b8b4ceb8',1,'llfio_v2_xxx::process_handle::launch_process(path_view path, span&lt; path_view_component &gt; args, flag flags=flag::wait_on_close) noexcept']]],
+ ['length_1104',['length',['../classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441',1,'llfio_v2_xxx::section_handle::length()'],['../classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7',1,'llfio_v2_xxx::map_handle::length()'],['../namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9',1,'llfio_v2_xxx::length(const section_handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a70e68bcf05636966ffefe001b903487e',1,'llfio_v2_xxx::length(const map_handle &amp;self) noexcept']]],
+ ['link_1105',['link',['../classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c',1,'llfio_v2_xxx::fs_handle']]],
+ ['llfio_5ftemplate_1106',['LLFIO_TEMPLATE',['../classllfio__v2__xxx_1_1path__view__component.html#aa83c384b9a61f57c318b61e8feb30d63',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const std'],['../classllfio__v2__xxx_1_1path__view__component.html#a30545f3b3926bf46b779364927fe2c2f',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view_component(const Char *s'],['../classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p'],['../classllfio__v2__xxx_1_1path__view__component.html#ad6e825af1c4052830156ebac93862858',1,'llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE(class T=typename filesystem::path::value_type, class Deleter=default_c_str_deleter&lt; T[]&gt;, size_t _internal_buffer_size=default_internal_buffer_size) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_acceptable&lt; T &gt;)) const expr int compare(path_view_component p) const'],['../classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const std'],['../classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11',1,'llfio_v2_xxx::path_view::LLFIO_TEMPLATE(class Char) LLFIO_TREQUIRES(LLFIO_TPRED(is_source_chartype_acceptable&lt; Char &gt;)) const expr path_view(const Char *s'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438',1,'llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;::LLFIO_TEMPLATE()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7',1,'llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt;::LLFIO_TEMPLATE(class... Args) LLFIO_TREQUIRES(LLFIO_TPRED(std'],['../namespacellfio__v2__xxx.html#adb4db47e035ae1ee5043008492e8986b',1,'llfio_v2_xxx::LLFIO_TEMPLATE()']]],
+ ['lock_1107',['lock',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard::lock()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#a0992bf3f3a85f0bc6355a743d37873e0',1,'llfio_v2_xxx::unique_file_lock::lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#adc6284803080e42505ba812d4711bb74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entities_type entities, deadline d=deadline(), bool spin_not_sleep=false) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a33dcc1d37df90ac5dd85a754f9ffce04',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::lock(entity_type entity, deadline d=deadline(), bool spin_not_sleep=false) noexcept']]],
+ ['lock_5ffile_1108',['lock_file',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a469019e3bbcd7b37499b8604af713b40',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['lock_5ffile_5frange_1109',['lock_file_range',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a6bba3f508224b7412f2fb3c050ca9711',1,'llfio_v2_xxx::fast_random_file_handle::lock_file_range()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a0ece4f0a48e1e67debc438a9742a1f4c',1,'llfio_v2_xxx::lockable_io_handle::lock_file_range()']]],
+ ['lock_5ffile_5fshared_1110',['lock_file_shared',['../classllfio__v2__xxx_1_1lockable__io__handle.html#aa24a432125e5b51b13f21d9b74fa4721',1,'llfio_v2_xxx::lockable_io_handle']]],
+ ['lock_5ffiles_1111',['lock_files',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#af3593bcad8dcb03a5c037af008203994',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#abcb24c8ebc1df2bab720be28e889a485',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::lock_files(lock_files &amp;&amp;o) noexcept']]],
+ ['lock_5fguard_1112',['lock_guard',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard']]],
+ ['lock_5fshared_1113',['lock_shared',['../classllfio__v2__xxx_1_1unique__file__lock.html#a07466cdd59da24bb249cbf46781eb9bb',1,'llfio_v2_xxx::unique_file_lock']]],
+ ['lockable_5fio_5fhandle_1114',['lockable_io_handle',['../classllfio__v2__xxx_1_1lockable__io__handle.html#a4b3e88620e2a244900daf0918bcb8e5b',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle()'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a243d7abf50b2d0116b867f2f35f40daf',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#aaeece0019d17116a8ca2a917c7d616bb',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a052a5ff696cfbed2e9217f2bd66398e4',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(io_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a518612e4231c17a80e8257c800658c8f',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(lockable_io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#ad408649b1b1cb36adffa9c554f26ea6e',1,'llfio_v2_xxx::lockable_io_handle::lockable_io_handle(const lockable_io_handle &amp;)=delete']]],
+ ['log_1115',['log',['../namespacellfio__v2__xxx.html#af54eb9dc436578bd4f28ba955293986d',1,'llfio_v2_xxx']]]
];
diff --git a/search/functions_c.html b/search/functions_c.html
index 99492ba8..858bfd6c 100644
--- a/search/functions_c.html
+++ b/search/functions_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_c.js b/search/functions_c.js
index b0513feb..3845ddd6 100644
--- a/search/functions_c.js
+++ b/search/functions_c.js
@@ -1,21 +1,26 @@
var searchData=
[
- ['map',['map',['../classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c',1,'llfio_v2_xxx::map_handle::map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533',1,'llfio_v2_xxx::map_handle::map(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0',1,'llfio_v2_xxx::mapped::map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf',1,'llfio_v2_xxx::mapped_file_handle::map() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a',1,'llfio_v2_xxx::mapped_file_handle::map() noexcept'],['../namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f',1,'llfio_v2_xxx::map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c',1,'llfio_v2_xxx::map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept']]],
- ['map_5fhandle',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279',1,'llfio_v2_xxx::map_handle::map_handle()'],['../classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b',1,'llfio_v2_xxx::map_handle::map_handle(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4',1,'llfio_v2_xxx::map_handle::map_handle(const map_handle &amp;)=delete']]],
- ['map_5fto_5fstorage_5ftype',['map_to_storage_type',['../namespacellfio__v2__xxx_1_1storage__profile.html#a9c35f07dd0bcac144d54ad4779533880',1,'llfio_v2_xxx::storage_profile']]],
- ['mapped',['mapped',['../classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d',1,'llfio_v2_xxx::mapped::mapped()'],['../classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144',1,'llfio_v2_xxx::mapped::mapped(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9',1,'llfio_v2_xxx::mapped::mapped(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a',1,'llfio_v2_xxx::mapped::mapped(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)']]],
- ['mapped_5ffile',['mapped_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a281a4659f90aef5b74c460611b11455a',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a76fdccd61395f0898fa55c79530b96b3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept'],['../namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730',1,'llfio_v2_xxx::mapped_file(mapped_file_handle::size_type reservation, const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d',1,'llfio_v2_xxx::mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept']]],
- ['mapped_5ffile_5fhandle',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(const mapped_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, size_type reservation) noexcept']]],
- ['mapped_5frandom_5ffile',['mapped_random_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aec48e49378e8b4ef60db282d2360b89f',1,'llfio_v2_xxx::mapped_file_handle::mapped_random_file()'],['../namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc',1,'llfio_v2_xxx::mapped_random_file()']]],
- ['mapped_5ftemp_5ffile',['mapped_temp_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_file()'],['../namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7',1,'llfio_v2_xxx::mapped_temp_file()']]],
- ['mapped_5ftemp_5finode',['mapped_temp_inode',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_inode()'],['../namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b',1,'llfio_v2_xxx::mapped_temp_inode()']]],
- ['match',['match',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['max_5fbuffers',['max_buffers',['../classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7',1,'llfio_v2_xxx::io_handle']]],
- ['max_5fbytes_5fstored',['max_bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a359e8683df35d2a2b84f801426d9c4bb',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored(capacity_type quota) noexcept=0']]],
- ['max_5fsize',['max_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6',1,'kvstore_v1_xxx::basic_key_value_store::max_size() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2',1,'kvstore_v1_xxx::basic_key_value_store::max_size(capacity_type quota) noexcept=0'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490',1,'llfio_v2_xxx::storage_profile::storage_profile::max_size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::max_size()']]],
- ['max_5fvalue_5fsize',['max_value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['maximum_5fextent',['maximum_extent',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398',1,'llfio_v2_xxx::fast_random_file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4',1,'llfio_v2_xxx::file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0',1,'llfio_v2_xxx::mapped_file_handle::maximum_extent()'],['../namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02',1,'llfio_v2_xxx::maximum_extent()']]],
- ['memory_5fbacked_5ftemporary_5ffiles_5fdirectory',['memory_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29',1,'llfio_v2_xxx::path_discovery']]],
- ['memory_5fmap',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(memory_map &amp;&amp;o) noexcept']]],
- ['metadata',['metadata',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca',1,'llfio_v2_xxx::directory_handle::buffers_type']]]
+ ['make_5fdynamic_5fthread_5fpool_5fgroup_1116',['make_dynamic_thread_pool_group',['../namespacellfio__v2__xxx.html#a53c9bba00e56a8e7c7c03e5b1f479ae5',1,'llfio_v2_xxx']]],
+ ['map_1117',['map',['../classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c',1,'llfio_v2_xxx::map_handle::map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a8e6163e135f2a0eebf62a127f0125533',1,'llfio_v2_xxx::map_handle::map(section_handle &amp;section, size_type bytes=0, extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../classllfio__v2__xxx_1_1mapped.html#a242f94515ea03ad443afe5ecefa297a0',1,'llfio_v2_xxx::mapped::map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf',1,'llfio_v2_xxx::mapped_file_handle::map() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a',1,'llfio_v2_xxx::mapped_file_handle::map() noexcept'],['../namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f',1,'llfio_v2_xxx::map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept'],['../namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c',1,'llfio_v2_xxx::map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept']]],
+ ['map_5fhandle_1118',['map_handle',['../classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279',1,'llfio_v2_xxx::map_handle::map_handle()'],['../classllfio__v2__xxx_1_1map__handle.html#a8ef85c2e8a638614a39b85626467004c',1,'llfio_v2_xxx::map_handle::map_handle(byte *addr, size_type length, size_type pagesize, section_handle::flag flags, section_handle *section=nullptr, extent_type offset=0) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b',1,'llfio_v2_xxx::map_handle::map_handle(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4',1,'llfio_v2_xxx::map_handle::map_handle(const map_handle &amp;)=delete']]],
+ ['map_5fto_5fstorage_5ftype_1119',['map_to_storage_type',['../namespacellfio__v2__xxx_1_1storage__profile.html#a9c35f07dd0bcac144d54ad4779533880',1,'llfio_v2_xxx::storage_profile']]],
+ ['mapped_1120',['mapped',['../classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d',1,'llfio_v2_xxx::mapped::mapped()'],['../classllfio__v2__xxx_1_1mapped.html#afb5d860d3f7fc1d4bad147f0a121d144',1,'llfio_v2_xxx::mapped::mapped(size_type length, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a6396b66fe61498bf18eaed6df6f7a2b9',1,'llfio_v2_xxx::mapped::mapped(section_handle &amp;sh, size_type length=(size_type) -1, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)'],['../classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a',1,'llfio_v2_xxx::mapped::mapped(file_handle &amp;backing, size_type length=(size_type) -1, extent_type maximum_size=0, extent_type byteoffset=0, section_handle::flag _flag=section_handle::flag::readwrite)']]],
+ ['mapped_5ffile_1121',['mapped_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#adcc3218ef645dfd337c12d6419bbd953',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(size_type reservation, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2e29622e47efa7a342e3f829b11dabcf',1,'llfio_v2_xxx::mapped_file_handle::mapped_file(const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none, section_handle::flag sflags=section_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#abddc6cd762be581f04b00837a8a91730',1,'llfio_v2_xxx::mapped_file(mapped_file_handle::size_type reservation, const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept'],['../namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d',1,'llfio_v2_xxx::mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept']]],
+ ['mapped_5ffile_5fhandle_1122',['mapped_file_handle',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(const mapped_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ab044f8cb4c4d7d350901ef8b0f50cdec',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, section_handle::flag sflags) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aa1b61a7306f77febd9d302bc1a3e4df0',1,'llfio_v2_xxx::mapped_file_handle::mapped_file_handle(file_handle &amp;&amp;o, size_type reservation, section_handle::flag sflags) noexcept']]],
+ ['mapped_5ftemp_5ffile_1123',['mapped_temp_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#abf92db7aa8035d84a42deccf5f3bc7cf',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_file()'],['../namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7',1,'llfio_v2_xxx::mapped_temp_file()']]],
+ ['mapped_5ftemp_5finode_1124',['mapped_temp_inode',['../classllfio__v2__xxx_1_1mapped__file__handle.html#aceebfe22aead50d7e03f98aa629b2aba',1,'llfio_v2_xxx::mapped_file_handle::mapped_temp_inode()'],['../namespacellfio__v2__xxx.html#a58d5390cad390de24a80748c8cd7dc5b',1,'llfio_v2_xxx::mapped_temp_inode()']]],
+ ['mapped_5funiquely_5fnamed_5ffile_1125',['mapped_uniquely_named_file',['../classllfio__v2__xxx_1_1mapped__file__handle.html#af37487aa40108b00514831dff4416907',1,'llfio_v2_xxx::mapped_file_handle::mapped_uniquely_named_file()'],['../namespacellfio__v2__xxx.html#a092f75c4e639c85797120488d486fa38',1,'llfio_v2_xxx::mapped_uniquely_named_file()']]],
+ ['match_1126',['match',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a53e3ad688b1a61e0769df8f57c0da255',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['max_5fbuffers_1127',['max_buffers',['../classllfio__v2__xxx_1_1io__handle.html#aa3465a87f2c732cd6465cd3a832a26f0',1,'llfio_v2_xxx::io_handle']]],
+ ['max_5fbytes_5fstored_1128',['max_bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa7bd9567d25db32da9568b4733b86557',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a359e8683df35d2a2b84f801426d9c4bb',1,'kvstore_v1_xxx::basic_key_value_store::max_bytes_stored(capacity_type quota) noexcept=0']]],
+ ['max_5fsize_1129',['max_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6',1,'kvstore_v1_xxx::basic_key_value_store::max_size() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2',1,'kvstore_v1_xxx::basic_key_value_store::max_size(capacity_type quota) noexcept=0'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490',1,'llfio_v2_xxx::storage_profile::storage_profile::max_size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::max_size()']]],
+ ['max_5fvalue_5fsize_1130',['max_value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['maximum_5fextent_1131',['maximum_extent',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398',1,'llfio_v2_xxx::fast_random_file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4',1,'llfio_v2_xxx::file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0',1,'llfio_v2_xxx::mapped_file_handle::maximum_extent()'],['../namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02',1,'llfio_v2_xxx::maximum_extent()']]],
+ ['memory_5fbacked_5ftemporary_5ffiles_5fdirectory_1132',['memory_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29',1,'llfio_v2_xxx::path_discovery']]],
+ ['memory_5fmap_1133',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(memory_map &amp;&amp;o) noexcept']]],
+ ['message_1134',['message',['../structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9',1,'llfio_v2_xxx::error_info']]],
+ ['metadata_1135',['metadata',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
+ ['ms_5fsleep_5ffor_5fmore_5fwork_1136',['ms_sleep_for_more_work',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#aac4c23e6b02acabeebac08955fe264f7',1,'llfio_v2_xxx::dynamic_thread_pool_group::ms_sleep_for_more_work() noexcept'],['../classllfio__v2__xxx_1_1dynamic__thread__pool__group.html#af3df91fd2d5b6e0036267142f0c5af4a',1,'llfio_v2_xxx::dynamic_thread_pool_group::ms_sleep_for_more_work(uint32_t v) noexcept']]],
+ ['multiplexer_1137',['multiplexer',['../classllfio__v2__xxx_1_1io__handle.html#ac44b02d62334e55b99a5668d67ad484e',1,'llfio_v2_xxx::io_handle::multiplexer()'],['../namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707',1,'llfio_v2_xxx::this_thread::multiplexer()']]],
+ ['mutex_1138',['mutex',['../classllfio__v2__xxx_1_1unique__file__lock.html#ac66e90389ea1568453ca7df71db96f16',1,'llfio_v2_xxx::unique_file_lock']]]
];
diff --git a/search/functions_d.html b/search/functions_d.html
index 5be9eccb..2f09f51b 100644
--- a/search/functions_d.html
+++ b/search/functions_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_d.js b/search/functions_d.js
index 79054688..87701724 100644
--- a/search/functions_d.js
+++ b/search/functions_d.js
@@ -1,7 +1,8 @@
var searchData=
[
- ['native_5fhandle',['native_handle',['../classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72',1,'llfio_v2_xxx::handle']]],
- ['native_5fhandle_5ftype',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd',1,'llfio_v2_xxx::native_handle_type::native_handle_type()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, int _fd) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, win::handle _h) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9',1,'llfio_v2_xxx::native_handle_type::native_handle_type(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d',1,'llfio_v2_xxx::native_handle_type::native_handle_type(native_handle_type &amp;&amp;o) noexcept']]],
- ['native_5fsize',['native_size',['../classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec',1,'llfio_v2_xxx::path_view_component::native_size()'],['../classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f',1,'llfio_v2_xxx::path_view::native_size()']]],
- ['nvram_5fbarrier',['nvram_barrier',['../namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838',1,'llfio_v2_xxx']]]
+ ['native_5fhandle_1139',['native_handle',['../classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72',1,'llfio_v2_xxx::handle']]],
+ ['native_5fhandle_5ftype_1140',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd',1,'llfio_v2_xxx::native_handle_type::native_handle_type()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, int _fd) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, win::handle _h) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9',1,'llfio_v2_xxx::native_handle_type::native_handle_type(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d',1,'llfio_v2_xxx::native_handle_type::native_handle_type(native_handle_type &amp;&amp;o) noexcept']]],
+ ['native_5fsize_1141',['native_size',['../classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec',1,'llfio_v2_xxx::path_view_component']]],
+ ['next_1142',['next',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a0ac186ccb6ee8aa13ba9a0e528617a35',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]],
+ ['nvram_5fbarrier_1143',['nvram_barrier',['../namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838',1,'llfio_v2_xxx']]]
];
diff --git a/search/functions_e.html b/search/functions_e.html
index e256cb63..ee5afa65 100644
--- a/search/functions_e.html
+++ b/search/functions_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_e.js b/search/functions_e.js
index 79da1e02..fd9c2213 100644
--- a/search/functions_e.js
+++ b/search/functions_e.js
@@ -1,25 +1,30 @@
var searchData=
[
- ['offset',['offset',['../classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198',1,'llfio_v2_xxx::map_handle']]],
- ['open',['open',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['open_5fkvstore',['open_kvstore',['../namespacekvstore__v1__xxx.html#ab623a6b882a8f334d0ac43dfbfb72408',1,'kvstore_v1_xxx']]],
- ['operator_20bool',['operator bool',['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a542975791603454af85f9877a32f6ee9',1,'llfio_v2_xxx::file_handle::extent_guard::operator bool()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3',1,'llfio_v2_xxx::native_handle_type::operator bool()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator bool()']]],
- ['operator_21',['operator!',['../structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c',1,'llfio_v2_xxx::native_handle_type::operator!()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator!()']]],
- ['operator_21_3d',['operator!=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator!=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9',1,'llfio_v2_xxx::algorithm::operator!=()']]],
- ['operator_28_29',['operator()',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885',1,'llfio_v2_xxx::storage_profile::item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f',1,'llfio_v2_xxx::storage_profile::item_erased::operator()()']]],
- ['operator_2a',['operator*',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa3e6180aaac3564373a81fb3b5660891',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9906a8a0d599685787888c01c4e1eeea',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*() const']]],
- ['operator_2b',['operator+',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4',1,'llfio_v2_xxx::algorithm::impl::operator+(trivial_vector_iterator&lt; T &gt; a, size_t n)'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459',1,'llfio_v2_xxx::algorithm::impl::operator+(size_t n, trivial_vector_iterator&lt; T &gt; a)']]],
- ['operator_2b_2b',['operator++',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#ad81c4ce83291558c52631c9dacd20e3f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#af0e1d40382f6ccd6bba062c44c965ecc',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++(int)']]],
- ['operator_2b_3d',['operator+=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
- ['operator_2d',['operator-',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-()'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a',1,'llfio_v2_xxx::algorithm::impl::operator-()']]],
- ['operator_2d_2d',['operator--',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9341ee27df9873a0df636743c921fa13',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aace7a5e1177b8df36c7f4659b2a49ee9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--(int)']]],
- ['operator_2d_3d',['operator-=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a3b9070148c6ab8f3621613344e54ec3d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
- ['operator_2d_3e',['operator-&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa17eb8f1eba0b9e2ddfbd3cf253ac569',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aefb1a36a833c4cd9c663b283c6f71768',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;() const']]],
- ['operator_3c',['operator&lt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113',1,'llfio_v2_xxx::algorithm::operator&lt;()']]],
- ['operator_3c_3d',['operator&lt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a993ddc5c77998a907582247107f6e6c5',1,'llfio_v2_xxx::algorithm::operator&lt;=()']]],
- ['operator_3d',['operator=',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9',1,'kvstore_v1_xxx::basic_key_value_store::operator=()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928',1,'llfio_v2_xxx::async_file_handle::operator=(async_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25',1,'llfio_v2_xxx::async_file_handle::operator=(const async_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49',1,'llfio_v2_xxx::directory_handle::operator=(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630',1,'llfio_v2_xxx::directory_handle::operator=(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5',1,'llfio_v2_xxx::fast_random_file_handle::operator=(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c',1,'llfio_v2_xxx::fast_random_file_handle::operator=(const fast_random_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6',1,'llfio_v2_xxx::file_handle::operator=(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a',1,'llfio_v2_xxx::file_handle::operator=(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle_1_1extent__guard.html#a55acba6917b8ad067c55c6008b1b2422',1,'llfio_v2_xxx::file_handle::extent_guard::operator=()'],['../classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba',1,'llfio_v2_xxx::fs_handle::operator=(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b',1,'llfio_v2_xxx::fs_handle::operator=(const fs_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0',1,'llfio_v2_xxx::handle::operator=(const handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365',1,'llfio_v2_xxx::handle::operator=(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f',1,'llfio_v2_xxx::io_handle::operator=(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4',1,'llfio_v2_xxx::io_handle::operator=(const io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a',1,'llfio_v2_xxx::section_handle::operator=(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b',1,'llfio_v2_xxx::section_handle::operator=(const section_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195',1,'llfio_v2_xxx::map_handle::operator=(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2',1,'llfio_v2_xxx::map_handle::operator=(const map_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57',1,'llfio_v2_xxx::mapped_file_handle::operator=(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303',1,'llfio_v2_xxx::mapped_file_handle::operator=(const mapped_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29',1,'llfio_v2_xxx::native_handle_type::operator=(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415',1,'llfio_v2_xxx::native_handle_type::operator=(native_handle_type &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a',1,'llfio_v2_xxx::path_handle::operator=(path_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8',1,'llfio_v2_xxx::path_handle::operator=(const path_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a',1,'llfio_v2_xxx::path_view::operator=(const path_view &amp;p)=default'],['../classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f',1,'llfio_v2_xxx::path_view::operator=(path_view &amp;&amp;p) noexcept=default'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const const_buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b',1,'llfio_v2_xxx::symlink_handle::operator=(symlink_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf',1,'llfio_v2_xxx::symlink_handle::operator=(const symlink_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(trivial_vector_impl &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a6fad139bec35264b356c2e057318db3e',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(const combining_handle_adapter &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(atomic_append &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(byte_ranges &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(lock_files &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ac63248b0a6e01753c3433788c99d161c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(memory_map &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a514b3c657d3e8c325e1179a1b24e20ef',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['operator_3d_3d',['operator==',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator==()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1',1,'llfio_v2_xxx::algorithm::operator==()']]],
- ['operator_3e',['operator&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a4ba09ef10dc88c605edf40669322d8d4',1,'llfio_v2_xxx::algorithm::operator&gt;()']]],
- ['operator_3e_3d',['operator&gt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#ade7571062c3e19cb6622bd2e411130ab',1,'llfio_v2_xxx::algorithm::operator&gt;=()']]],
- ['operator_5b_5d',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]]
+ ['offset_1144',['offset',['../classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198',1,'llfio_v2_xxx::map_handle']]],
+ ['open_1145',['open',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6f45998a528be5d9ee623327e2817a46',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['open_5fkvstore_1146',['open_kvstore',['../namespacekvstore__v1__xxx.html#ab623a6b882a8f334d0ac43dfbfb72408',1,'kvstore_v1_xxx']]],
+ ['operator_20bool_1147',['operator bool',['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#ae22ca4d4bb1824c86a2eca46498ab03f',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::operator bool()'],['../classllfio__v2__xxx_1_1unique__file__lock.html#acfb1ff9fa6f5e5559516411654bbd60b',1,'llfio_v2_xxx::unique_file_lock::operator bool()'],['../structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3',1,'llfio_v2_xxx::native_handle_type::operator bool()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a208c64d5760fca4f9049de58e1395f4b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator bool()']]],
+ ['operator_21_1148',['operator!',['../structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c',1,'llfio_v2_xxx::native_handle_type::operator!()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a5091edbf46f38cd8e4281cc51daa9b4c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::operator!()']]],
+ ['operator_21_3d_1149',['operator!=',['../structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1',1,'llfio_v2_xxx::native_handle_type::operator!=()'],['../structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27',1,'llfio_v2_xxx::stat_t::operator!=()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa451bae2cfcf2f912330986b1feaab12',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator!=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9',1,'llfio_v2_xxx::algorithm::operator!=()']]],
+ ['operator_28_29_1150',['operator()',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#a68e317002adf480e0a4c076410e35e8e',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885',1,'llfio_v2_xxx::storage_profile::item::operator()()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f',1,'llfio_v2_xxx::storage_profile::item_erased::operator()()']]],
+ ['operator_2a_1151',['operator*',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa3e6180aaac3564373a81fb3b5660891',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9906a8a0d599685787888c01c4e1eeea',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator*() const']]],
+ ['operator_2b_1152',['operator+',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4',1,'llfio_v2_xxx::algorithm::impl::operator+(trivial_vector_iterator&lt; T &gt; a, size_t n)'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459',1,'llfio_v2_xxx::algorithm::impl::operator+(size_t n, trivial_vector_iterator&lt; T &gt; a)']]],
+ ['operator_2b_2b_1153',['operator++',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#ad81c4ce83291558c52631c9dacd20e3f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#af0e1d40382f6ccd6bba062c44c965ecc',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator++(int)']]],
+ ['operator_2b_3d_1154',['operator+=',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b',1,'llfio_v2_xxx::algorithm::traversal_summary::operator+=()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a362e39447f4dfe564aa305adc7727ae8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator+=()']]],
+ ['operator_2d_1155',['operator-',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a36f3f1ce9d1fdfaea8e8b4a054bf95f6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-()'],['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a',1,'llfio_v2_xxx::algorithm::impl::operator-()']]],
+ ['operator_2d_2d_1156',['operator--',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a9341ee27df9873a0df636743c921fa13',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aace7a5e1177b8df36c7f4659b2a49ee9',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator--(int)']]],
+ ['operator_2d_3d_1157',['operator-=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a3b9070148c6ab8f3621613344e54ec3d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator']]],
+ ['operator_2d_3e_1158',['operator-&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa17eb8f1eba0b9e2ddfbd3cf253ac569',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aefb1a36a833c4cd9c663b283c6f71768',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator-&gt;() const']]],
+ ['operator_2f_1159',['operator/',['../namespacellfio__v2__xxx.html#a177b07f74b322e7843ec46f13ffcf032',1,'llfio_v2_xxx::operator/(const filesystem::path &amp;a, path_view_component b)'],['../namespacellfio__v2__xxx.html#a56f82dddf1ccbd54e467ef1e35adcb54',1,'llfio_v2_xxx::operator/(filesystem::path &amp;&amp;a, path_view_component b)']]],
+ ['operator_2f_3d_1160',['operator/=',['../namespacellfio__v2__xxx.html#aa689b48f1fe2893f13e689a346a5dd5c',1,'llfio_v2_xxx']]],
+ ['operator_3c_1161',['operator&lt;',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf',1,'llfio_v2_xxx::io_multiplexer::awaitable::operator&lt;()'],['../structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a',1,'llfio_v2_xxx::stat_t::operator&lt;()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a8cac3c6347c2918399f850f2b01ac267',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a48db273f73f86955938b99faeef6e113',1,'llfio_v2_xxx::algorithm::operator&lt;()']]],
+ ['operator_3c_3d_1162',['operator&lt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a7ae36c40423f8d3042d53a633c014e6a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&lt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a993ddc5c77998a907582247107f6e6c5',1,'llfio_v2_xxx::algorithm::operator&lt;=()']]],
+ ['operator_3d_1163',['operator=',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aba5b58f92fd2644bdd491cc25a4caaa9',1,'kvstore_v1_xxx::basic_key_value_store::operator=()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e',1,'llfio_v2_xxx::directory_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49',1,'llfio_v2_xxx::directory_handle::operator=(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630',1,'llfio_v2_xxx::directory_handle::operator=(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5',1,'llfio_v2_xxx::fast_random_file_handle::operator=(fast_random_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c',1,'llfio_v2_xxx::fast_random_file_handle::operator=(const fast_random_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6',1,'llfio_v2_xxx::file_handle::operator=(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a',1,'llfio_v2_xxx::file_handle::operator=(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba',1,'llfio_v2_xxx::fs_handle::operator=(fs_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b',1,'llfio_v2_xxx::fs_handle::operator=(const fs_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0',1,'llfio_v2_xxx::handle::operator=(const handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365',1,'llfio_v2_xxx::handle::operator=(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f',1,'llfio_v2_xxx::io_handle::operator=(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4',1,'llfio_v2_xxx::io_handle::operator=(const io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a46197b92fa6bd143f42e2df1b21c99c4',1,'llfio_v2_xxx::lockable_io_handle::operator=(lockable_io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1lockable__io__handle.html#a892657b45719cc06869c4c9276759b31',1,'llfio_v2_xxx::lockable_io_handle::operator=(const lockable_io_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1lockable__io__handle_1_1extent__guard.html#a71adc218ded5e0f89461e437de9b52e3',1,'llfio_v2_xxx::lockable_io_handle::extent_guard::operator=()'],['../classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a',1,'llfio_v2_xxx::section_handle::operator=(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b',1,'llfio_v2_xxx::section_handle::operator=(const section_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195',1,'llfio_v2_xxx::map_handle::operator=(map_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2',1,'llfio_v2_xxx::map_handle::operator=(const map_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57',1,'llfio_v2_xxx::mapped_file_handle::operator=(mapped_file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303',1,'llfio_v2_xxx::mapped_file_handle::operator=(const mapped_file_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29',1,'llfio_v2_xxx::native_handle_type::operator=(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415',1,'llfio_v2_xxx::native_handle_type::operator=(native_handle_type &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a',1,'llfio_v2_xxx::path_handle::operator=(path_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8',1,'llfio_v2_xxx::path_handle::operator=(const path_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a',1,'llfio_v2_xxx::path_view::operator=(const path_view &amp;p)=default'],['../classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f',1,'llfio_v2_xxx::path_view::operator=(path_view &amp;&amp;p) noexcept=default'],['../classllfio__v2__xxx_1_1pipe__handle.html#a673cc362e4d4b7ca3c0499d4ba51ace4',1,'llfio_v2_xxx::pipe_handle::operator=(const pipe_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1pipe__handle.html#a6926cae050b034558a3ae25ec9c0de94',1,'llfio_v2_xxx::pipe_handle::operator=(pipe_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#ac22d50fdb727fae3a6db0c40bd6c6583',1,'llfio_v2_xxx::process_handle::operator=(const process_handle &amp;o)=delete'],['../classllfio__v2__xxx_1_1process__handle.html#a0960eb5b296746df2fd77be42e14fcd6',1,'llfio_v2_xxx::process_handle::operator=(process_handle &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa',1,'llfio_v2_xxx::symlink_handle::buffers_type::operator=(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const_buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::operator=(const const_buffers_type &amp;)=delete'],['../classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b',1,'llfio_v2_xxx::symlink_handle::operator=(symlink_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf',1,'llfio_v2_xxx::symlink_handle::operator=(const symlink_handle &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator=(trivial_vector_impl &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a9e767cbccf4130478b49012693168f5c',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(combining_handle_adapter &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a6fad139bec35264b356c2e057318db3e',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::operator=(const combining_handle_adapter &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#ab4f072d8b41d50dc942f48e0ca291e16',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::operator=(atomic_append &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::operator=(byte_ranges &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(const lock_files &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::operator=(lock_files &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ac63248b0a6e01753c3433788c99d161c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::operator=(memory_map &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a514b3c657d3e8c325e1179a1b24e20ef',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::operator=(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['operator_3d_3d_1164',['operator==',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57',1,'llfio_v2_xxx::io_multiplexer::awaitable::operator==()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73',1,'llfio_v2_xxx::native_handle_type::operator==()'],['../structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841',1,'llfio_v2_xxx::stat_t::operator==()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator==()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1',1,'llfio_v2_xxx::algorithm::operator==()']]],
+ ['operator_3e_1165',['operator&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a4ba09ef10dc88c605edf40669322d8d4',1,'llfio_v2_xxx::algorithm::operator&gt;()']]],
+ ['operator_3e_3d_1166',['operator&gt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#ade7571062c3e19cb6622bd2e411130ab',1,'llfio_v2_xxx::algorithm::operator&gt;=()']]],
+ ['operator_5b_5d_1167',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]],
+ ['out_5fpipe_1168',['out_pipe',['../classllfio__v2__xxx_1_1process__handle.html#a632eac607e16b80ac3f7a24a04f72366',1,'llfio_v2_xxx::process_handle::out_pipe() noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#a8c86be2ef3bee1c3f9fc681b97937ceb',1,'llfio_v2_xxx::process_handle::out_pipe() const noexcept']]],
+ ['outcome_5ftemplate_1169',['OUTCOME_TEMPLATE',['../structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5',1,'llfio_v2_xxx::error_info']]],
+ ['owns_5flock_1170',['owns_lock',['../classllfio__v2__xxx_1_1unique__file__lock.html#ab633b6cfaa5122af1ac74da719d6b106',1,'llfio_v2_xxx::unique_file_lock']]]
];
diff --git a/search/functions_f.html b/search/functions_f.html
index 424126cd..f17c412c 100644
--- a/search/functions_f.html
+++ b/search/functions_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/functions_f.js b/search/functions_f.js
index 905feb0a..6c6dc108 100644
--- a/search/functions_f.js
+++ b/search/functions_f.js
@@ -1,15 +1,24 @@
var searchData=
[
- ['page_5fsize',['page_size',['../classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc',1,'llfio_v2_xxx::map_handle::page_size()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b',1,'llfio_v2_xxx::mapped_file_handle::page_size()'],['../namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba',1,'llfio_v2_xxx::utils::page_size()']]],
- ['page_5fsizes',['page_sizes',['../namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5',1,'llfio_v2_xxx::utils']]],
- ['parent_5fpath',['parent_path',['../classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562',1,'llfio_v2_xxx::path_view']]],
- ['parent_5fpath_5fhandle',['parent_path_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5',1,'llfio_v2_xxx::fs_handle']]],
- ['path',['path',['../classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab',1,'llfio_v2_xxx::path_handle::path(const path_handle &amp;base, path_view_type path) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b',1,'llfio_v2_xxx::path_handle::path(path_view_type _path) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d',1,'llfio_v2_xxx::path_view_component::path()'],['../classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d',1,'llfio_v2_xxx::path_view::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b',1,'llfio_v2_xxx::symlink_handle::buffers_type::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::path()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::path()'],['../namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b',1,'llfio_v2_xxx::path(const path_handle &amp;base, path_handle::path_view_type path) noexcept'],['../namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c',1,'llfio_v2_xxx::path(path_handle::path_view_type _path) noexcept']]],
- ['path_5fhandle',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf',1,'llfio_v2_xxx::path_handle::path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006',1,'llfio_v2_xxx::path_handle::path_handle(native_handle_type h, caching caching=caching::all, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e',1,'llfio_v2_xxx::path_handle::path_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df',1,'llfio_v2_xxx::path_handle::path_handle(path_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc',1,'llfio_v2_xxx::path_handle::path_handle(const path_handle &amp;)=delete']]],
- ['path_5fview',['path_view',['../classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339',1,'llfio_v2_xxx::path_view::path_view()'],['../classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045',1,'llfio_v2_xxx::path_view::path_view(const filesystem::path &amp;v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a',1,'llfio_v2_xxx::path_view::path_view(path_view_component v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d',1,'llfio_v2_xxx::path_view::path_view(const char *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28',1,'llfio_v2_xxx::path_view::path_view(const wchar_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb',1,'llfio_v2_xxx::path_view::path_view(const char8_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23',1,'llfio_v2_xxx::path_view::path_view(const char16_t *v) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e',1,'llfio_v2_xxx::path_view::path_view(const path_view &amp;)=default'],['../classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266',1,'llfio_v2_xxx::path_view::path_view(path_view &amp;&amp;o) noexcept=default']]],
- ['pop_5fback',['pop_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['posix_5ferror',['posix_error',['../namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66',1,'llfio_v2_xxx']]],
- ['post',['post',['../classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565',1,'llfio_v2_xxx::io_service']]],
- ['prefetch',['prefetch',['../classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27',1,'llfio_v2_xxx::map_handle::prefetch(span&lt; buffer_type &gt; regions) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d',1,'llfio_v2_xxx::map_handle::prefetch(buffer_type region) noexcept']]],
- ['push_5fback',['push_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(value_type &amp;&amp;v)']]]
+ ['page_5fsize_1171',['page_size',['../classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc',1,'llfio_v2_xxx::map_handle::page_size()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b',1,'llfio_v2_xxx::mapped_file_handle::page_size()'],['../namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba',1,'llfio_v2_xxx::utils::page_size()']]],
+ ['parent_1172',['parent',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1work__item.html#aee890b7a94a8d7a24e9b55aef8177c49',1,'llfio_v2_xxx::dynamic_thread_pool_group::work_item']]],
+ ['parent_5fpath_1173',['parent_path',['../classllfio__v2__xxx_1_1path__view.html#a3572b45e9a180899d0c5eac7605cc562',1,'llfio_v2_xxx::path_view']]],
+ ['parent_5fpath_5fhandle_1174',['parent_path_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5',1,'llfio_v2_xxx::fs_handle']]],
+ ['path_1175',['path',['../classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab',1,'llfio_v2_xxx::path_handle::path(const path_handle &amp;base, path_view_type path) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b',1,'llfio_v2_xxx::path_handle::path(path_view_type _path) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d',1,'llfio_v2_xxx::path_view_component::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b',1,'llfio_v2_xxx::symlink_handle::buffers_type::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::path()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::path()'],['../namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b',1,'llfio_v2_xxx::path(const path_handle &amp;base, path_handle::path_view_type path) noexcept'],['../namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c',1,'llfio_v2_xxx::path(path_handle::path_view_type _path) noexcept']]],
+ ['path1_1176',['path1',['../structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5',1,'llfio_v2_xxx::error_info']]],
+ ['path2_1177',['path2',['../structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38',1,'llfio_v2_xxx::error_info']]],
+ ['path_5fhandle_1178',['path_handle',['../classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf',1,'llfio_v2_xxx::path_handle::path_handle()'],['../classllfio__v2__xxx_1_1path__handle.html#a32d48210385cea74aefa112f1b41275c',1,'llfio_v2_xxx::path_handle::path_handle(native_handle_type h, caching caching, flag flags)'],['../classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e',1,'llfio_v2_xxx::path_handle::path_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df',1,'llfio_v2_xxx::path_handle::path_handle(path_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc',1,'llfio_v2_xxx::path_handle::path_handle(const path_handle &amp;)=delete']]],
+ ['path_5fview_1179',['path_view',['../classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339',1,'llfio_v2_xxx::path_view::path_view()'],['../classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e',1,'llfio_v2_xxx::path_view::path_view(path_view_component p, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559',1,'llfio_v2_xxx::path_view::path_view(const filesystem::path &amp;v, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc',1,'llfio_v2_xxx::path_view::path_view(const char *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d',1,'llfio_v2_xxx::path_view::path_view(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c',1,'llfio_v2_xxx::path_view::path_view(const char8_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e',1,'llfio_v2_xxx::path_view::path_view(const char16_t *b, size_t l, enum zero_termination zt, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e',1,'llfio_v2_xxx::path_view::path_view(const byte *b, size_t l, enum zero_termination zt) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266',1,'llfio_v2_xxx::path_view::path_view(path_view &amp;&amp;o) noexcept=default']]],
+ ['path_5fview_5fcomponent_1180',['path_view_component',['../classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142',1,'llfio_v2_xxx::path_view_component::path_view_component() noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a3189af1028540da228c8fb81cb90c6f5',1,'llfio_v2_xxx::path_view_component::path_view_component(path_view_component p, format fmt) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a43082e0336e93d083dfce83291b962e4',1,'llfio_v2_xxx::path_view_component::path_view_component(const filesystem::path &amp;v, format fmt=auto_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a006189dc9735a1403ef543e1d3e4346e',1,'llfio_v2_xxx::path_view_component::path_view_component(const char *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a84b69ed407e2c8589edcd2f9ed394cec',1,'llfio_v2_xxx::path_view_component::path_view_component(const wchar_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#aa4587751f932a03bb771ab91e9be9878',1,'llfio_v2_xxx::path_view_component::path_view_component(const char8_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#ae6211739a1098a8469a649bdccda20d3',1,'llfio_v2_xxx::path_view_component::path_view_component(const char16_t *b, size_t l, enum zero_termination zt, format fmt=binary_format) noexcept'],['../classllfio__v2__xxx_1_1path__view__component.html#a50a19bc52f7d49f7a1465441bf4641af',1,'llfio_v2_xxx::path_view_component::path_view_component(const byte *b, size_t l, enum zero_termination zt) noexcept']]],
+ ['pipe_1181',['pipe',['../classllfio__v2__xxx_1_1pipe__handle.html#ab2a30c788731707f70ff08c107ca1c97',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pipe_5fcreate_1182',['pipe_create',['../classllfio__v2__xxx_1_1pipe__handle.html#a6654057ec3ebf6eb2c7ea03f38882c15',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pipe_5fhandle_1183',['pipe_handle',['../classllfio__v2__xxx_1_1pipe__handle.html#a1d4c5c39a211181ccd1a2ebeac4acb30',1,'llfio_v2_xxx::pipe_handle::pipe_handle()'],['../classllfio__v2__xxx_1_1pipe__handle.html#a059c4dfab3ed474d539dabd783892b0e',1,'llfio_v2_xxx::pipe_handle::pipe_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1pipe__handle.html#a15f621ed9c82e7c9e9c24d2ba299ee85',1,'llfio_v2_xxx::pipe_handle::pipe_handle(native_handle_type h, caching caching, flag flags, io_multiplexer *ctx)'],['../classllfio__v2__xxx_1_1pipe__handle.html#aa5eda647e77f848d07763bebef75473d',1,'llfio_v2_xxx::pipe_handle::pipe_handle(const pipe_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1pipe__handle.html#a57ba2b79928a2b9b6b556e7364b05a57',1,'llfio_v2_xxx::pipe_handle::pipe_handle(pipe_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#ad9cd2f81eb83696e8787b4bc02d31575',1,'llfio_v2_xxx::pipe_handle::pipe_handle(handle &amp;&amp;o, dev_t devid, ino_t inode, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#a5d125573d7a8c08d50b234470067e530',1,'llfio_v2_xxx::pipe_handle::pipe_handle(handle &amp;&amp;o, io_multiplexer *ctx) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#ae008da2cbe3de01cfad2a8252e449b8a',1,'llfio_v2_xxx::pipe_handle::pipe_handle(io_handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept'],['../classllfio__v2__xxx_1_1pipe__handle.html#a95997b7fd729b09798a87f71efab4347',1,'llfio_v2_xxx::pipe_handle::pipe_handle(io_handle &amp;&amp;o) noexcept']]],
+ ['pipe_5fopen_1184',['pipe_open',['../classllfio__v2__xxx_1_1pipe__handle.html#ad4f0b65aeb1df79398607012b6b3d5b2',1,'llfio_v2_xxx::pipe_handle']]],
+ ['pop_5fback_1185',['pop_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['posix_5ferror_1186',['posix_error',['../namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66',1,'llfio_v2_xxx']]],
+ ['post_5fenumeration_1187',['post_enumeration',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d',1,'llfio_v2_xxx::algorithm::contents_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae',1,'llfio_v2_xxx::algorithm::compare_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082',1,'llfio_v2_xxx::algorithm::reduce_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05',1,'llfio_v2_xxx::algorithm::summarize_visitor::post_enumeration()'],['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937',1,'llfio_v2_xxx::algorithm::traverse_visitor::post_enumeration()']]],
+ ['pre_5fenumeration_1188',['pre_enumeration',['../structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39',1,'llfio_v2_xxx::algorithm::traverse_visitor']]],
+ ['prefetch_1189',['prefetch',['../classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27',1,'llfio_v2_xxx::map_handle::prefetch(span&lt; buffer_type &gt; regions) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d',1,'llfio_v2_xxx::map_handle::prefetch(buffer_type region) noexcept']]],
+ ['process_5fhandle_1190',['process_handle',['../classllfio__v2__xxx_1_1process__handle.html#a3d6579e76504d6752378fe3429ec53ec',1,'llfio_v2_xxx::process_handle::process_handle()'],['../classllfio__v2__xxx_1_1process__handle.html#aa8c4d7385696df6ffb5c1939bc970f55',1,'llfio_v2_xxx::process_handle::process_handle(native_handle_type h, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#aa036bc372d57e6be9dd4889f448f8c67',1,'llfio_v2_xxx::process_handle::process_handle(handle &amp;&amp;o, flag flags=flag::none) noexcept'],['../classllfio__v2__xxx_1_1process__handle.html#adcf7e850514add6f1d82c5c40387cf8c',1,'llfio_v2_xxx::process_handle::process_handle(const process_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1process__handle.html#add1f8ef6ffad84d15c098c8e672f2c0e',1,'llfio_v2_xxx::process_handle::process_handle(process_handle &amp;&amp;o) noexcept']]],
+ ['push_5fback_1191',['push_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(value_type &amp;&amp;v)']]]
];
diff --git a/search/groups_0.html b/search/groups_0.html
index 1ede28df..a2d93357 100644
--- a/search/groups_0.html
+++ b/search/groups_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="groups_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/groups_0.js b/search/groups_0.js
index 6043e42b..b6418bbd 100644
--- a/search/groups_0.js
+++ b/search/groups_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['configuration_20macros',['Configuration macros',['../group__config.html',1,'']]]
+ ['configuration_20macros_1538',['Configuration macros',['../group__config.html',1,'']]]
];
diff --git a/search/mag_sel.png b/search/mag_sel.png
index 81f6040a..39c0ed52 100644
--- a/search/mag_sel.png
+++ b/search/mag_sel.png
Binary files differ
diff --git a/search/namespaces_0.html b/search/namespaces_0.html
index 605ac452..76996d1c 100644
--- a/search/namespaces_0.html
+++ b/search/namespaces_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="namespaces_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/namespaces_0.js b/search/namespaces_0.js
index 4fd4ead9..3edcf538 100644
--- a/search/namespaces_0.js
+++ b/search/namespaces_0.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['kvstore_5fv1_5fxxx',['kvstore_v1_xxx',['../namespacekvstore__v1__xxx.html',1,'']]],
- ['traits',['traits',['../namespacekvstore__v1__xxx_1_1traits.html',1,'kvstore_v1_xxx']]]
+ ['kvstore_5fv1_5fxxx_872',['kvstore_v1_xxx',['../namespacekvstore__v1__xxx.html',1,'']]],
+ ['traits_873',['traits',['../namespacekvstore__v1__xxx_1_1traits.html',1,'kvstore_v1_xxx']]]
];
diff --git a/search/namespaces_1.html b/search/namespaces_1.html
index f093550a..c69e3662 100644
--- a/search/namespaces_1.html
+++ b/search/namespaces_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="namespaces_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/namespaces_1.js b/search/namespaces_1.js
index d84dc23c..d50668ba 100644
--- a/search/namespaces_1.js
+++ b/search/namespaces_1.js
@@ -1,10 +1,11 @@
var searchData=
[
- ['algorithm',['algorithm',['../namespacellfio__v2__xxx_1_1algorithm.html',1,'llfio_v2_xxx']]],
- ['impl',['impl',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html',1,'llfio_v2_xxx::algorithm']]],
- ['llfio_5fv2_5fxxx',['llfio_v2_xxx',['../namespacellfio__v2__xxx.html',1,'']]],
- ['path_5fdiscovery',['path_discovery',['../namespacellfio__v2__xxx_1_1path__discovery.html',1,'llfio_v2_xxx']]],
- ['shared_5ffs_5fmutex',['shared_fs_mutex',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm']]],
- ['storage_5fprofile',['storage_profile',['../namespacellfio__v2__xxx_1_1storage__profile.html',1,'llfio_v2_xxx']]],
- ['utils',['utils',['../namespacellfio__v2__xxx_1_1utils.html',1,'llfio_v2_xxx']]]
+ ['algorithm_874',['algorithm',['../namespacellfio__v2__xxx_1_1algorithm.html',1,'llfio_v2_xxx']]],
+ ['impl_875',['impl',['../namespacellfio__v2__xxx_1_1algorithm_1_1impl.html',1,'llfio_v2_xxx::algorithm']]],
+ ['llfio_5fv2_5fxxx_876',['llfio_v2_xxx',['../namespacellfio__v2__xxx.html',1,'']]],
+ ['path_5fdiscovery_877',['path_discovery',['../namespacellfio__v2__xxx_1_1path__discovery.html',1,'llfio_v2_xxx']]],
+ ['shared_5ffs_5fmutex_878',['shared_fs_mutex',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm']]],
+ ['storage_5fprofile_879',['storage_profile',['../namespacellfio__v2__xxx_1_1storage__profile.html',1,'llfio_v2_xxx']]],
+ ['this_5fthread_880',['this_thread',['../namespacellfio__v2__xxx_1_1this__thread.html',1,'llfio_v2_xxx']]],
+ ['utils_881',['utils',['../namespacellfio__v2__xxx_1_1utils.html',1,'llfio_v2_xxx']]]
];
diff --git a/search/nomatches.html b/search/nomatches.html
index b1ded27e..43773208 100644
--- a/search/nomatches.html
+++ b/search/nomatches.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
diff --git a/search/pages_0.html b/search/pages_0.html
index 4955b9e4..9a6a29ad 100644
--- a/search/pages_0.html
+++ b/search/pages_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/pages_0.js b/search/pages_0.js
index d84a49e5..f27ded44 100644
--- a/search/pages_0.js
+++ b/search/pages_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['build_20instructions',['Build instructions',['../md__build.html',1,'']]]
+ ['build_20instructions_1539',['Build instructions',['../md__build.html',1,'']]]
];
diff --git a/search/pages_1.html b/search/pages_1.html
index aedb14ee..132ee038 100644
--- a/search/pages_1.html
+++ b/search/pages_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/pages_1.js b/search/pages_1.js
index 441b2dec..8ee870e2 100644
--- a/search/pages_1.js
+++ b/search/pages_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['todo_20list',['Todo List',['../todo.html',1,'']]]
+ ['todo_20list_1540',['Todo List',['../todo.html',1,'']]]
];
diff --git a/search/related_0.html b/search/related_0.html
new file mode 100644
index 00000000..bbe15faa
--- /dev/null
+++ b/search/related_0.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="related_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/related_0.js b/search/related_0.js
new file mode 100644
index 00000000..4883e60c
--- /dev/null
+++ b/search/related_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['contents_1526',['contents',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9',1,'llfio_v2_xxx::algorithm::contents_visitor']]]
+];
diff --git a/search/related_1.html b/search/related_1.html
new file mode 100644
index 00000000..024707bf
--- /dev/null
+++ b/search/related_1.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="related_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/related_1.js b/search/related_1.js
new file mode 100644
index 00000000..7dbf37fd
--- /dev/null
+++ b/search/related_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['to_5fwin32_5fpath_1527',['to_win32_path',['../classllfio__v2__xxx_1_1fs__handle.html#a0fd0de38fa849bfd8a8771a02679b1b4',1,'llfio_v2_xxx::fs_handle']]]
+];
diff --git a/search/search.js b/search/search.js
index dedce3bf..a554ab9c 100644
--- a/search/search.js
+++ b/search/search.js
@@ -1,3 +1,26 @@
+/*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this file.
+
+ Copyright (C) 1997-2017 by Dimitri van Heesch
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ @licend The above is the entire license notice
+ for the JavaScript code in this file
+ */
function convertToId(search)
{
var result = '';
@@ -788,4 +811,4 @@ function init_search()
}
searchBox.OnSelectItem(0);
}
-
+/* @license-end */
diff --git a/search/search_l.png b/search/search_l.png
index c872f4da..fd5f7daa 100644
--- a/search/search_l.png
+++ b/search/search_l.png
Binary files differ
diff --git a/search/search_r.png b/search/search_r.png
index 97ee8b43..1af5d21e 100644
--- a/search/search_r.png
+++ b/search/search_r.png
Binary files differ
diff --git a/search/searchdata.js b/search/searchdata.js
index cd3db033..a5cd3974 100644
--- a/search/searchdata.js
+++ b/search/searchdata.js
@@ -1,17 +1,18 @@
var indexSectionsWithContent =
{
0: "_abcdefghiklmnopqrstuvwxz~",
- 1: "_abcdefhilmnprst",
+ 1: "_abcdefhilmnprstuw",
2: "kl",
- 3: "abcdfhiklmnpstuvx",
+ 3: "abcdfhiklmnprstuvx",
4: "_abcdefghiklmnopqrstuvwz~",
- 5: "acdefhilmnprstuvx",
+ 5: "abcdefhilmnoprstuvwx",
6: "abcdefhiklmprsuvx",
- 7: "bcfklms",
- 8: "aefhilnorstuw",
- 9: "l",
- 10: "c",
- 11: "bt"
+ 7: "bcfiklmswz",
+ 8: "abcdefghilnorstuwz",
+ 9: "ct",
+ 10: "l",
+ 11: "c",
+ 12: "bt"
};
var indexSectionNames =
@@ -25,9 +26,10 @@ var indexSectionNames =
6: "typedefs",
7: "enums",
8: "enumvalues",
- 9: "defines",
- 10: "groups",
- 11: "pages"
+ 9: "related",
+ 10: "defines",
+ 11: "groups",
+ 12: "pages"
};
var indexSectionLabels =
@@ -41,8 +43,9 @@ var indexSectionLabels =
6: "Typedefs",
7: "Enumerations",
8: "Enumerator",
- 9: "Macros",
- 10: "Modules",
- 11: "Pages"
+ 9: "Friends",
+ 10: "Macros",
+ 11: "Modules",
+ 12: "Pages"
};
diff --git a/search/typedefs_0.html b/search/typedefs_0.html
index 05722e1c..376db479 100644
--- a/search/typedefs_0.html
+++ b/search/typedefs_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_0.js b/search/typedefs_0.js
index 38b57ec7..3d0ac45d 100644
--- a/search/typedefs_0.js
+++ b/search/typedefs_0.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['adapted_5fhandle_5ftype',['adapted_handle_type',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b',1,'llfio_v2_xxx::algorithm::cached_parent_handle_adapter']]],
- ['allocator_5ftype',['allocator_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5',1,'kvstore_v1_xxx::basic_key_value_store']]]
+ ['adapted_5fhandle_5ftype_1400',['adapted_handle_type',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b',1,'llfio_v2_xxx::algorithm::cached_parent_handle_adapter']]],
+ ['allocator_5ftype_1401',['allocator_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5',1,'kvstore_v1_xxx::basic_key_value_store']]]
];
diff --git a/search/typedefs_1.html b/search/typedefs_1.html
index b77c5338..9b8bf72f 100644
--- a/search/typedefs_1.html
+++ b/search/typedefs_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_1.js b/search/typedefs_1.js
index 6a81b1ce..3ea1bd74 100644
--- a/search/typedefs_1.js
+++ b/search/typedefs_1.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['buffer_5ftype',['buffer_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607',1,'kvstore_v1_xxx::basic_key_value_store::buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952',1,'llfio_v2_xxx::directory_handle::buffer_type()'],['../classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8',1,'llfio_v2_xxx::io_service::buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd',1,'llfio_v2_xxx::symlink_handle::buffer_type()']]],
- ['buffers_5ftype',['buffers_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c',1,'kvstore_v1_xxx::basic_key_value_store::buffers_type()'],['../classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed',1,'llfio_v2_xxx::io_handle::buffers_type()'],['../classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a',1,'llfio_v2_xxx::io_service::buffers_type()']]],
- ['byte',['byte',['../classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a',1,'llfio_v2_xxx::path_view_component::byte()'],['../classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca',1,'llfio_v2_xxx::path_view::byte()']]]
+ ['buffer_5ftype_1402',['buffer_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607',1,'kvstore_v1_xxx::basic_key_value_store::buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952',1,'llfio_v2_xxx::directory_handle::buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd',1,'llfio_v2_xxx::symlink_handle::buffer_type()']]],
+ ['buffers_5ftype_1403',['buffers_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c',1,'kvstore_v1_xxx::basic_key_value_store::buffers_type()'],['../classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354',1,'llfio_v2_xxx::io_multiplexer::buffers_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77',1,'llfio_v2_xxx::io_multiplexer::awaitable::buffers_type()'],['../classllfio__v2__xxx_1_1read__receiver.html#add038bbd7e2c83c01c8cdb459d12e0c1',1,'llfio_v2_xxx::read_receiver::buffers_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a70c15c4bc76e1712162c53af9da8a183',1,'llfio_v2_xxx::write_receiver::buffers_type()']]],
+ ['byte_1404',['byte',['../classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/typedefs_10.html b/search/typedefs_10.html
index 88130552..bbfbcf0b 100644
--- a/search/typedefs_10.html
+++ b/search/typedefs_10.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_10.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_10.js b/search/typedefs_10.js
index 262e44e9..ded88d5e 100644
--- a/search/typedefs_10.js
+++ b/search/typedefs_10.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['xor_5fhandle_5fadapter',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
+ ['xor_5fhandle_5fadapter_1450',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
];
diff --git a/search/typedefs_2.html b/search/typedefs_2.html
index 076311dc..d18982f5 100644
--- a/search/typedefs_2.html
+++ b/search/typedefs_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_2.js b/search/typedefs_2.js
index 4ab2dd6c..34d5ee92 100644
--- a/search/typedefs_2.js
+++ b/search/typedefs_2.js
@@ -1,12 +1,12 @@
var searchData=
[
- ['caching',['caching',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c',1,'kvstore_v1_xxx::basic_key_value_store_info::caching()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a0608d53e48b38adcb71682ed62cc05e3',1,'kvstore_v1_xxx::basic_key_value_store::caching()']]],
- ['capacity_5ftype',['capacity_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['const_5fbuffer_5ftype',['const_buffer_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a',1,'kvstore_v1_xxx::basic_key_value_store::const_buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a',1,'llfio_v2_xxx::directory_handle::const_buffer_type()'],['../classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a',1,'llfio_v2_xxx::io_service::const_buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2',1,'llfio_v2_xxx::symlink_handle::const_buffer_type()']]],
- ['const_5fbuffers_5ftype',['const_buffers_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac',1,'kvstore_v1_xxx::basic_key_value_store::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e',1,'llfio_v2_xxx::io_handle::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe',1,'llfio_v2_xxx::io_service::const_buffers_type()']]],
- ['const_5fiterator',['const_iterator',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed',1,'llfio_v2_xxx::io_handle::buffer_type::const_iterator()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a5694f18d13507d62f79870a497253f52',1,'llfio_v2_xxx::mapped::const_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd',1,'llfio_v2_xxx::path_view::const_iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392',1,'llfio_v2_xxx::storage_profile::storage_profile::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c',1,'llfio_v2_xxx::symlink_handle::buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_iterator()']]],
- ['const_5fpointer',['const_pointer',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3',1,'llfio_v2_xxx::io_handle::buffer_type::const_pointer()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e',1,'llfio_v2_xxx::io_handle::const_buffer_type::const_pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b',1,'llfio_v2_xxx::mapped::const_pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_pointer()']]],
- ['const_5freference',['const_reference',['../classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876',1,'llfio_v2_xxx::mapped::const_reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59',1,'llfio_v2_xxx::storage_profile::storage_profile::const_reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aeb87ab0a0db5333ebeb9f02cbc526e05',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reference()']]],
- ['const_5freverse_5fiterator',['const_reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e',1,'llfio_v2_xxx::mapped::const_reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8',1,'llfio_v2_xxx::path_view::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reverse_iterator()']]],
- ['creation',['creation',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8',1,'kvstore_v1_xxx::basic_key_value_store_info::creation()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a77a90d11f98460cc0ff2765e5a479d4e',1,'kvstore_v1_xxx::basic_key_value_store::creation()']]]
+ ['caching_1405',['caching',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c',1,'kvstore_v1_xxx::basic_key_value_store_info::caching()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a0608d53e48b38adcb71682ed62cc05e3',1,'kvstore_v1_xxx::basic_key_value_store::caching()']]],
+ ['capacity_5ftype_1406',['capacity_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a625e9e99c7c16f1bd344d5aa7f1ad9b7',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['const_5fbuffer_5ftype_1407',['const_buffer_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#abaaf3c92d3eed661a3d36b3d73384b0a',1,'kvstore_v1_xxx::basic_key_value_store::const_buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a',1,'llfio_v2_xxx::directory_handle::const_buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2',1,'llfio_v2_xxx::symlink_handle::const_buffer_type()']]],
+ ['const_5fbuffers_5ftype_1408',['const_buffers_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ae3623a6180482b7133aeab3a1a8719ac',1,'kvstore_v1_xxx::basic_key_value_store::const_buffers_type()'],['../classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051',1,'llfio_v2_xxx::io_multiplexer::const_buffers_type()']]],
+ ['const_5fiterator_1409',['const_iterator',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a',1,'llfio_v2_xxx::io_multiplexer::buffer_type::const_iterator()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd',1,'llfio_v2_xxx::path_view::const_iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a45ebb67036d3c2ca572cae5607daf392',1,'llfio_v2_xxx::storage_profile::storage_profile::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c',1,'llfio_v2_xxx::symlink_handle::buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_iterator()']]],
+ ['const_5fpointer_1410',['const_pointer',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41',1,'llfio_v2_xxx::io_multiplexer::buffer_type::const_pointer()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::const_pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a1baa65621e1b643eb98286c972966a4b',1,'llfio_v2_xxx::mapped::const_pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a30ffeaaf3c46674ef05c3ebe0e32a1bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3bdba3331ee741cc80978a8f08f2735f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_pointer()']]],
+ ['const_5freference_1411',['const_reference',['../classllfio__v2__xxx_1_1mapped.html#ad652a145b01f100607620bbfdeeed876',1,'llfio_v2_xxx::mapped::const_reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a26ee0a5e5b9ac70ed6b056fe95ee2d59',1,'llfio_v2_xxx::storage_profile::storage_profile::const_reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aeb87ab0a0db5333ebeb9f02cbc526e05',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a264d4dbea5254000bbe78b44c5d904a1',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reference()']]],
+ ['const_5freverse_5fiterator_1412',['const_reverse_iterator',['../classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8',1,'llfio_v2_xxx::path_view::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::const_reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::const_reverse_iterator()']]],
+ ['creation_1413',['creation',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8',1,'kvstore_v1_xxx::basic_key_value_store_info::creation()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a77a90d11f98460cc0ff2765e5a479d4e',1,'kvstore_v1_xxx::basic_key_value_store::creation()']]]
];
diff --git a/search/typedefs_3.html b/search/typedefs_3.html
index a4a727ff..8941740c 100644
--- a/search/typedefs_3.html
+++ b/search/typedefs_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_3.js b/search/typedefs_3.js
index 42b2831d..51b0d108 100644
--- a/search/typedefs_3.js
+++ b/search/typedefs_3.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['difference_5ftype',['difference_type',['../classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11',1,'llfio_v2_xxx::mapped::difference_type()'],['../classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025',1,'llfio_v2_xxx::path_view::difference_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa8d8f5c1656378091389ac0a7abc6c68',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::difference_type()']]]
+ ['default_5fc_5fstr_5fdeleter_1414',['default_c_str_deleter',['../classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82',1,'llfio_v2_xxx::path_view_component']]],
+ ['difference_5ftype_1415',['difference_type',['../classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11',1,'llfio_v2_xxx::mapped::difference_type()'],['../classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025',1,'llfio_v2_xxx::path_view::difference_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa8d8f5c1656378091389ac0a7abc6c68',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::difference_type()']]],
+ ['dynamic_5fthread_5fpool_5fgroup_5fptr_1416',['dynamic_thread_pool_group_ptr',['../namespacellfio__v2__xxx.html#a1cebefd1c4caade9a0abbd9d7a5f89a3',1,'llfio_v2_xxx']]]
];
diff --git a/search/typedefs_4.html b/search/typedefs_4.html
index be033cd1..933bd3b9 100644
--- a/search/typedefs_4.html
+++ b/search/typedefs_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_4.js b/search/typedefs_4.js
index 36129044..7f55131c 100644
--- a/search/typedefs_4.js
+++ b/search/typedefs_4.js
@@ -1,7 +1,8 @@
var searchData=
[
- ['element_5ftype',['element_type',['../classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda',1,'llfio_v2_xxx::mapped']]],
- ['entities_5ftype',['entities_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2d76403bdfa829d3144931db2ed6948c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#aec91125605e5a8379b7616b7f90d1232',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae93a3105a8dad7e76c9985a468b435c7',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae2b0ba067395f1d7588e301f07110b8a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3a38be63dffa241d502f2a28ceb048ea',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entities_type()']]],
- ['entity_5ftype',['entity_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a31ffa04a6276ce1a59ccb1c6d21ae069',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a07654cbb20d589f13107e8b6d7d286c9',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entity_type()']]],
- ['extent_5ftype',['extent_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307',1,'kvstore_v1_xxx::basic_key_value_store_info::extent_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751',1,'kvstore_v1_xxx::basic_key_value_store::extent_type()'],['../classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f',1,'llfio_v2_xxx::handle::extent_type()'],['../classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a',1,'llfio_v2_xxx::io_service::extent_type()'],['../classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83',1,'llfio_v2_xxx::mapped::extent_type()']]]
+ ['element_5ftype_1417',['element_type',['../classllfio__v2__xxx_1_1mapped.html#ace37649b885ac91425a6cadf63ccadda',1,'llfio_v2_xxx::mapped']]],
+ ['entities_5ftype_1418',['entities_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2d76403bdfa829d3144931db2ed6948c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#aec91125605e5a8379b7616b7f90d1232',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae93a3105a8dad7e76c9985a468b435c7',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae2b0ba067395f1d7588e301f07110b8a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entities_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3a38be63dffa241d502f2a28ceb048ea',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entities_type()']]],
+ ['entity_5ftype_1419',['entity_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a31ffa04a6276ce1a59ccb1c6d21ae069',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a07654cbb20d589f13107e8b6d7d286c9',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a578299b4449875303911db495a9a81ed',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::entity_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa0050984d2b49b3679d429d57b021f46',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::entity_type()']]],
+ ['error_5ftype_1420',['error_type',['../classllfio__v2__xxx_1_1read__receiver.html#aa9f05fed3807e4c246c3cdcb90890ce3',1,'llfio_v2_xxx::read_receiver::error_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a71492bcff7aea9043556ef4f2ed4cce8',1,'llfio_v2_xxx::write_receiver::error_type()']]],
+ ['extent_5ftype_1421',['extent_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307',1,'kvstore_v1_xxx::basic_key_value_store_info::extent_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3f0f14256e9107576781f55b8dfd2751',1,'kvstore_v1_xxx::basic_key_value_store::extent_type()'],['../classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f',1,'llfio_v2_xxx::handle::extent_type()'],['../classllfio__v2__xxx_1_1mapped.html#acfd0ab21349fb0eb56172b81d6a7fa83',1,'llfio_v2_xxx::mapped::extent_type()']]]
];
diff --git a/search/typedefs_5.html b/search/typedefs_5.html
index e10c325b..7712e6f8 100644
--- a/search/typedefs_5.html
+++ b/search/typedefs_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_5.js b/search/typedefs_5.js
index 0a2e1fd3..737a9b3e 100644
--- a/search/typedefs_5.js
+++ b/search/typedefs_5.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['features',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['filter_5fstate_5ftype',['filter_state_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c',1,'kvstore_v1_xxx::basic_key_value_store']]]
+ ['features_1422',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['filter_5fstate_5ftype_1423',['filter_state_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a574141e5360bc634bd7528378fe56a3c',1,'kvstore_v1_xxx::basic_key_value_store']]]
];
diff --git a/search/typedefs_6.html b/search/typedefs_6.html
index 4e206e87..25aa6dd4 100644
--- a/search/typedefs_6.html
+++ b/search/typedefs_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_6.js b/search/typedefs_6.js
index a0e6666b..1d46d4ae 100644
--- a/search/typedefs_6.js
+++ b/search/typedefs_6.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['handle_5ftype',['handle_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85',1,'kvstore_v1_xxx::basic_key_value_store_info::handle_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1',1,'kvstore_v1_xxx::basic_key_value_store::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0',1,'llfio_v2_xxx::storage_profile::item_base::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d',1,'llfio_v2_xxx::storage_profile::storage_profile::handle_type()']]],
- ['hasher_5ftype',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
+ ['handle_5ftype_1424',['handle_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85',1,'kvstore_v1_xxx::basic_key_value_store_info::handle_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1',1,'kvstore_v1_xxx::basic_key_value_store::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0',1,'llfio_v2_xxx::storage_profile::item_base::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d',1,'llfio_v2_xxx::storage_profile::storage_profile::handle_type()']]],
+ ['hasher_5ftype_1425',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
];
diff --git a/search/typedefs_7.html b/search/typedefs_7.html
index cc182ee6..6cb2ddea 100644
--- a/search/typedefs_7.html
+++ b/search/typedefs_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_7.js b/search/typedefs_7.js
index 8a56ef41..3ef7c2d3 100644
--- a/search/typedefs_7.js
+++ b/search/typedefs_7.js
@@ -1,8 +1,8 @@
var searchData=
[
- ['index_5ftype',['index_type',['../classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad',1,'llfio_v2_xxx::mapped']]],
- ['io_5frequest',['io_request',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761',1,'kvstore_v1_xxx::basic_key_value_store::io_request()'],['../classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e',1,'llfio_v2_xxx::io_service::io_request()']]],
- ['io_5fresult',['io_result',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d',1,'kvstore_v1_xxx::basic_key_value_store::io_result()'],['../classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e',1,'llfio_v2_xxx::io_service::io_result()']]],
- ['io_5fstate_5fptr',['io_state_ptr',['../classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67',1,'llfio_v2_xxx::async_file_handle']]],
- ['iterator',['iterator',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5',1,'llfio_v2_xxx::io_handle::buffer_type::iterator()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce',1,'llfio_v2_xxx::io_handle::const_buffer_type::iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4',1,'llfio_v2_xxx::mapped::iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a',1,'llfio_v2_xxx::path_view::iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923',1,'llfio_v2_xxx::storage_profile::storage_profile::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1',1,'llfio_v2_xxx::symlink_handle::buffers_type::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::iterator()']]]
+ ['io_5fhandle_5ftype_1426',['io_handle_type',['../classllfio__v2__xxx_1_1read__receiver.html#a29b3ef5c5196cdafe501b14340dcdb2c',1,'llfio_v2_xxx::read_receiver::io_handle_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#aff126bfd475d2ede94d67ca99ff6b14c',1,'llfio_v2_xxx::write_receiver::io_handle_type()']]],
+ ['io_5fmultiplexer_5fptr_1427',['io_multiplexer_ptr',['../namespacellfio__v2__xxx.html#aeb9722b94a1f745b62717cb02e843f50',1,'llfio_v2_xxx']]],
+ ['io_5frequest_1428',['io_request',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2cea87068cef2cd35b2aec15a5130761',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['io_5fresult_1429',['io_result',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a67508b71656ccd24173677db521c263d',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['iterator_1430',['iterator',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2',1,'llfio_v2_xxx::io_multiplexer::buffer_type::iterator()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::iterator()'],['../classllfio__v2__xxx_1_1mapped.html#a6645c7abab4aea56e09ba4241b106cc4',1,'llfio_v2_xxx::mapped::iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a',1,'llfio_v2_xxx::path_view::iterator()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923',1,'llfio_v2_xxx::storage_profile::storage_profile::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1',1,'llfio_v2_xxx::symlink_handle::buffers_type::iterator()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4d56314037ed44e7ca2c6ed352a53fb4',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::iterator()']]]
];
diff --git a/search/typedefs_8.html b/search/typedefs_8.html
index 9379676b..52ab5aa2 100644
--- a/search/typedefs_8.html
+++ b/search/typedefs_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_8.js b/search/typedefs_8.js
index 730b32c7..c3e89ddf 100644
--- a/search/typedefs_8.js
+++ b/search/typedefs_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['key_5ftype',['key_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa6438527cd168b81fa0e6f61d0f17cfe',1,'kvstore_v1_xxx::basic_key_value_store']]]
+ ['key_5ftype_1431',['key_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aa6438527cd168b81fa0e6f61d0f17cfe',1,'kvstore_v1_xxx::basic_key_value_store']]]
];
diff --git a/search/typedefs_9.html b/search/typedefs_9.html
index 6f2b9ea4..7b6dd851 100644
--- a/search/typedefs_9.html
+++ b/search/typedefs_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_9.js b/search/typedefs_9.js
index 7ce14f6c..477f22e5 100644
--- a/search/typedefs_9.js
+++ b/search/typedefs_9.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['log_5flevel',['log_level',['../namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783',1,'llfio_v2_xxx']]]
+ ['log_5fimplementation_5ftype_1432',['log_implementation_type',['../namespacellfio__v2__xxx.html#aca929614e4fad8cb074325503044845a',1,'llfio_v2_xxx']]],
+ ['log_5flevel_1433',['log_level',['../namespacellfio__v2__xxx.html#a8b7cb2a8ae49464e9a5b708f1d6b4783',1,'llfio_v2_xxx']]]
];
diff --git a/search/typedefs_a.html b/search/typedefs_a.html
index b897e1cf..ba5e6689 100644
--- a/search/typedefs_a.html
+++ b/search/typedefs_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_a.js b/search/typedefs_a.js
index 6c3b0bbd..c1185e33 100644
--- a/search/typedefs_a.js
+++ b/search/typedefs_a.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['mode',['mode',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]]
+ ['mode_1434',['mode',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]]
];
diff --git a/search/typedefs_b.html b/search/typedefs_b.html
index 23bfdac3..9b598551 100644
--- a/search/typedefs_b.html
+++ b/search/typedefs_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_b.js b/search/typedefs_b.js
index 727b4cb2..a8b0f38c 100644
--- a/search/typedefs_b.js
+++ b/search/typedefs_b.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['path_5ftype',['path_type',['../classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3',1,'llfio_v2_xxx::handle']]],
- ['path_5fview_5ftype',['path_view_type',['../classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b',1,'llfio_v2_xxx::fs_handle::path_view_type()'],['../classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c',1,'llfio_v2_xxx::path_handle::path_view_type()']]],
- ['pointer',['pointer',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2',1,'llfio_v2_xxx::io_handle::buffer_type::pointer()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7',1,'llfio_v2_xxx::io_handle::const_buffer_type::pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209',1,'llfio_v2_xxx::mapped::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a',1,'llfio_v2_xxx::symlink_handle::buffers_type::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::pointer()']]]
+ ['path_5ftype_1435',['path_type',['../classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3',1,'llfio_v2_xxx::handle']]],
+ ['path_5fview_5ftype_1436',['path_view_type',['../classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b',1,'llfio_v2_xxx::fs_handle::path_view_type()'],['../classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c',1,'llfio_v2_xxx::path_handle::path_view_type()']]],
+ ['pointer_1437',['pointer',['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027',1,'llfio_v2_xxx::io_multiplexer::buffer_type::pointer()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::pointer()'],['../classllfio__v2__xxx_1_1mapped.html#a4bdd43e622e1bc5f3a43fc508c3cb209',1,'llfio_v2_xxx::mapped::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a',1,'llfio_v2_xxx::symlink_handle::buffers_type::pointer()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::pointer()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aad0467fd1862484409df72b9f23117ce',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4799707d3d7401d233e3e1363ee2ff48',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::pointer()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::pointer()']]]
];
diff --git a/search/typedefs_c.html b/search/typedefs_c.html
index 28f5aad2..1924d704 100644
--- a/search/typedefs_c.html
+++ b/search/typedefs_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_c.js b/search/typedefs_c.js
index b5ec8943..a6fd2a33 100644
--- a/search/typedefs_c.js
+++ b/search/typedefs_c.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['reference',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
- ['reverse_5fiterator',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba',1,'llfio_v2_xxx::path_view::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]]
+ ['reference_1438',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
+ ['registered_5fbuffer_5ftype_1439',['registered_buffer_type',['../classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3',1,'llfio_v2_xxx::io_multiplexer']]],
+ ['result_5ftype_1440',['result_type',['../structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4',1,'llfio_v2_xxx::io_multiplexer::awaitable']]],
+ ['reverse_5fiterator_1441',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../classllfio__v2__xxx_1_1path__view.html#a4d90bae7abb2aa764d6dbd36ddbaa9ba',1,'llfio_v2_xxx::path_view::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]]
];
diff --git a/search/typedefs_d.html b/search/typedefs_d.html
index 15794829..1b480876 100644
--- a/search/typedefs_d.html
+++ b/search/typedefs_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_d.js b/search/typedefs_d.js
index a53541c8..590670ff 100644
--- a/search/typedefs_d.js
+++ b/search/typedefs_d.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['size_5ftype',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008',1,'llfio_v2_xxx::io_handle::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0',1,'llfio_v2_xxx::io_handle::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405',1,'llfio_v2_xxx::io_service::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
- ['spinlock_5ftype',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
+ ['size_5ftype_1442',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1',1,'llfio_v2_xxx::io_multiplexer::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da',1,'llfio_v2_xxx::io_multiplexer::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0',1,'llfio_v2_xxx::path_view_component::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
+ ['spinlock_5ftype_1443',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
];
diff --git a/search/typedefs_e.html b/search/typedefs_e.html
index f61d902e..fed948df 100644
--- a/search/typedefs_e.html
+++ b/search/typedefs_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_e.js b/search/typedefs_e.js
index 0a63da76..faeae7d8 100644
--- a/search/typedefs_e.js
+++ b/search/typedefs_e.js
@@ -1,7 +1,8 @@
var searchData=
[
- ['uint128',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['uint64',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['unique_5fid_5ftype',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
- ['uri_5ftype',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]]
+ ['uint128_1444',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['uint64_1445',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['unique_5fid_5ftype_1446',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
+ ['unique_5fid_5ftype_5fhasher_1447',['unique_id_type_hasher',['../classllfio__v2__xxx_1_1fs__handle.html#ab82a83c5e44659e01a2218f0af41bde7',1,'llfio_v2_xxx::fs_handle']]],
+ ['uri_5ftype_1448',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]]
];
diff --git a/search/typedefs_f.html b/search/typedefs_f.html
index aefe5758..fe33f52d 100644
--- a/search/typedefs_f.html
+++ b/search/typedefs_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="typedefs_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/typedefs_f.js b/search/typedefs_f.js
index e418647c..6915dafc 100644
--- a/search/typedefs_f.js
+++ b/search/typedefs_f.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['value_5ftype',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]]
+ ['value_5ftype_1449',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../classllfio__v2__xxx_1_1read__receiver.html#a528d11f57eea813d90fc9f0449fa6406',1,'llfio_v2_xxx::read_receiver::value_type()'],['../classllfio__v2__xxx_1_1write__receiver.html#a9e418876cc9b1904500c2b4cccd9fe4b',1,'llfio_v2_xxx::write_receiver::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]]
];
diff --git a/search/variables_0.html b/search/variables_0.html
index 74ce8072..bf3eba5c 100644
--- a/search/variables_0.html
+++ b/search/variables_0.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_0.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_0.js b/search/variables_0.js
index e472e01d..c2bff6d7 100644
--- a/search/variables_0.js
+++ b/search/variables_0.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['acls',['acls',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+ ['acls_1297',['acls',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['allocated_1298',['allocated',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7',1,'llfio_v2_xxx::algorithm::traversal_summary']]]
];
diff --git a/search/variables_1.html b/search/variables_1.html
index 84237b6e..49fe59a1 100644
--- a/search/variables_1.html
+++ b/search/variables_1.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_1.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_1.js b/search/variables_1.js
index f710b2cb..59cc0303 100644
--- a/search/variables_1.js
+++ b/search/variables_1.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['compression',['compression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['create',['create',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
+ ['barriers_1299',['barriers',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness']]],
+ ['base_1300',['base',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]]
];
diff --git a/search/variables_10.html b/search/variables_10.html
index 548ac843..92982ac5 100644
--- a/search/variables_10.html
+++ b/search/variables_10.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_10.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_10.js b/search/variables_10.js
index bf8db9ce..da0173ab 100644
--- a/search/variables_10.js
+++ b/search/variables_10.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['xattr',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+ ['utc_1394',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]]
];
diff --git a/search/variables_11.html b/search/variables_11.html
new file mode 100644
index 00000000..94f1a8cf
--- /dev/null
+++ b/search/variables_11.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_11.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_11.js b/search/variables_11.js
new file mode 100644
index 00000000..a306349a
--- /dev/null
+++ b/search/variables_11.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['value_1395',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()']]],
+ ['visitor_1396',['visitor',['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c',1,'llfio_v2_xxx::io_multiplexer::io_operation_state']]]
+];
diff --git a/search/variables_12.html b/search/variables_12.html
new file mode 100644
index 00000000..61c013a4
--- /dev/null
+++ b/search/variables_12.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_12.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_12.js b/search/variables_12.js
new file mode 100644
index 00000000..a791a56a
--- /dev/null
+++ b/search/variables_12.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['want_1397',['want',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['writes_1398',['writes',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness']]]
+];
diff --git a/search/variables_13.html b/search/variables_13.html
new file mode 100644
index 00000000..87b7ca67
--- /dev/null
+++ b/search/variables_13.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/search/variables_13.js b/search/variables_13.js
new file mode 100644
index 00000000..e072783b
--- /dev/null
+++ b/search/variables_13.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['xattr_1399',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+];
diff --git a/search/variables_2.html b/search/variables_2.html
index 5c9de1aa..0c8a18cf 100644
--- a/search/variables_2.html
+++ b/search/variables_2.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_2.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_2.js b/search/variables_2.js
index 1445cf9c..01cff21f 100644
--- a/search/variables_2.js
+++ b/search/variables_2.js
@@ -1,5 +1,12 @@
var searchData=
[
- ['default_5finternal_5fbuffer_5fsize',['default_internal_buffer_size',['../classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91',1,'llfio_v2_xxx::path_view_component::default_internal_buffer_size()'],['../classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf',1,'llfio_v2_xxx::path_view::default_internal_buffer_size()']]],
- ['description',['description',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0',1,'llfio_v2_xxx::storage_profile::item_base']]]
+ ['completed_5fread_1301',['completed_read',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['completed_5fwrite_5for_5fbarrier_1302',['completed_write_or_barrier',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['compression_1303',['compression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['content_5fcomparison_1304',['content_comparison',['../structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa',1,'llfio_v2_xxx::algorithm::difference_item']]],
+ ['contents_5finclude_5fdirectories_1305',['contents_include_directories',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5ffiles_1306',['contents_include_files',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5fmetadata_1307',['contents_include_metadata',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['contents_5finclude_5fsymlinks_1308',['contents_include_symlinks',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5',1,'llfio_v2_xxx::algorithm::contents_visitor']]],
+ ['create_1309',['create',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
];
diff --git a/search/variables_3.html b/search/variables_3.html
index f95e34c6..19a31fc2 100644
--- a/search/variables_3.html
+++ b/search/variables_3.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_3.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_3.js b/search/variables_3.js
index 80f32830..6d4d13b2 100644
--- a/search/variables_3.js
+++ b/search/variables_3.js
@@ -1,5 +1,9 @@
var searchData=
[
- ['exclusive',['exclusive',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type']]],
- ['extents',['extents',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+ ['d_1310',['d',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t']]],
+ ['default_5finternal_5fbuffer_5fsize_1311',['default_internal_buffer_size',['../classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91',1,'llfio_v2_xxx::path_view_component']]],
+ ['description_1312',['description',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0',1,'llfio_v2_xxx::storage_profile::item_base']]],
+ ['devs_1313',['devs',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['directory_5fblocks_1314',['directory_blocks',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['directory_5fopens_5ffailed_1315',['directory_opens_failed',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17',1,'llfio_v2_xxx::algorithm::traversal_summary']]]
];
diff --git a/search/variables_4.html b/search/variables_4.html
index d7db285e..bdc37be7 100644
--- a/search/variables_4.html
+++ b/search/variables_4.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_4.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_4.js b/search/variables_4.js
index c768e046..a55dd2f3 100644
--- a/search/variables_4.js
+++ b/search/variables_4.js
@@ -1,19 +1,6 @@
var searchData=
[
- ['f_5fbavail',['f_bavail',['../structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fbfree',['f_bfree',['../structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fblocks',['f_blocks',['../structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fbsize',['f_bsize',['../structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fffree',['f_ffree',['../structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffiles',['f_files',['../structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fflags',['f_flags',['../structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffsid',['f_fsid',['../structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5ffstypename',['f_fstypename',['../structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fiosize',['f_iosize',['../structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fmntfromname',['f_mntfromname',['../structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fmntonname',['f_mntonname',['../structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fnamemax',['f_namemax',['../structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771',1,'llfio_v2_xxx::statfs_t']]],
- ['f_5fowner',['f_owner',['../structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7',1,'llfio_v2_xxx::statfs_t']]],
- ['fd',['fd',['../structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af',1,'llfio_v2_xxx::native_handle_type']]],
- ['filecompression',['filecompression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+ ['empty_1316',['empty',['../unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t']]],
+ ['exclusive_1317',['exclusive',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type']]],
+ ['extents_1318',['extents',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
];
diff --git a/search/variables_5.html b/search/variables_5.html
index 7bbceeb0..6aa2249b 100644
--- a/search/variables_5.html
+++ b/search/variables_5.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_5.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_5.js b/search/variables_5.js
index d5239330..d6d5fc59 100644
--- a/search/variables_5.js
+++ b/search/variables_5.js
@@ -1,4 +1,21 @@
var searchData=
[
- ['h',['h',['../structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481',1,'llfio_v2_xxx::native_handle_type']]]
+ ['f_5fbavail_1319',['f_bavail',['../structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fbfree_1320',['f_bfree',['../structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fblocks_1321',['f_blocks',['../structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fbsize_1322',['f_bsize',['../structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fffree_1323',['f_ffree',['../structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffiles_1324',['f_files',['../structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fflags_1325',['f_flags',['../structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffsid_1326',['f_fsid',['../structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5ffstypename_1327',['f_fstypename',['../structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosbusytime_1328',['f_iosbusytime',['../structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosinprogress_1329',['f_iosinprogress',['../structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fiosize_1330',['f_iosize',['../structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fmntfromname_1331',['f_mntfromname',['../structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fmntonname_1332',['f_mntonname',['../structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fnamemax_1333',['f_namemax',['../structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771',1,'llfio_v2_xxx::statfs_t']]],
+ ['f_5fowner_1334',['f_owner',['../structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7',1,'llfio_v2_xxx::statfs_t']]],
+ ['file_5fblocks_1335',['file_blocks',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['filecompression_1336',['filecompression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
];
diff --git a/search/variables_6.html b/search/variables_6.html
index 4eb162d6..ce4a9063 100644
--- a/search/variables_6.html
+++ b/search/variables_6.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_6.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_6.js b/search/variables_6.js
index 1ef183c5..f0db26c7 100644
--- a/search/variables_6.js
+++ b/search/variables_6.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['is_5fsource_5facceptable',['is_source_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd',1,'llfio_v2_xxx::path_view_component::is_source_acceptable()'],['../classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724',1,'llfio_v2_xxx::path_view::is_source_acceptable()']]],
- ['is_5fsource_5fchartype_5facceptable',['is_source_chartype_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165',1,'llfio_v2_xxx::path_view_component::is_source_chartype_acceptable()'],['../classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a',1,'llfio_v2_xxx::path_view::is_source_chartype_acceptable()']]]
+ ['h_1337',['h',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness::h()'],['../structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae',1,'llfio_v2_xxx::io_multiplexer::io_operation_state::h()']]]
];
diff --git a/search/variables_7.html b/search/variables_7.html
index 04088295..39ffd474 100644
--- a/search/variables_7.html
+++ b/search/variables_7.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_7.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_7.js b/search/variables_7.js
index 724d9d41..d94c58e7 100644
--- a/search/variables_7.js
+++ b/search/variables_7.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['leafname',['leafname',['../structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e',1,'llfio_v2_xxx::directory_entry']]]
+ ['initiated_5fios_5fcompleted_1338',['initiated_ios_completed',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4',1,'llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics']]],
+ ['initiated_5fios_5ffinished_1339',['initiated_ios_finished',['../structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3',1,'llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics']]],
+ ['is_5fsource_5facceptable_1340',['is_source_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd',1,'llfio_v2_xxx::path_view_component']]],
+ ['is_5fsource_5fchartype_5facceptable_1341',['is_source_chartype_acceptable',['../classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165',1,'llfio_v2_xxx::path_view_component']]]
];
diff --git a/search/variables_8.html b/search/variables_8.html
index d54d0966..37a2eddf 100644
--- a/search/variables_8.html
+++ b/search/variables_8.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_8.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_8.js b/search/variables_8.js
index 4de15cbe..f028e27b 100644
--- a/search/variables_8.js
+++ b/search/variables_8.js
@@ -1,7 +1,5 @@
var searchData=
[
- ['max_5fkey_5fsize',['max_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['max_5fvalue_5fsize',['max_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['min_5fkey_5fsize',['min_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['min_5fvalue_5fsize',['min_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
+ ['leafname_1342',['leafname',['../structllfio__v2__xxx_1_1directory__entry.html#a5a6d56ab917ea2a44ec06019bb9dd45e',1,'llfio_v2_xxx::directory_entry']]],
+ ['length_1343',['length',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a',1,'llfio_v2_xxx::file_handle::extent_pair']]]
];
diff --git a/search/variables_9.html b/search/variables_9.html
index 234dc60a..21e5a4f3 100644
--- a/search/variables_9.html
+++ b/search/variables_9.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_9.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_9.js b/search/variables_9.js
index a7208839..7298cf6b 100644
--- a/search/variables_9.js
+++ b/search/variables_9.js
@@ -1,7 +1,12 @@
var searchData=
[
- ['name',['name',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed',1,'kvstore_v1_xxx::basic_key_value_store_info::name()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf',1,'llfio_v2_xxx::storage_profile::item_base::name()']]],
- ['noexec',['noexec',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['nosuid',['nosuid',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['nsecs',['nsecs',['../structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359',1,'llfio_v2_xxx::deadline']]]
+ ['max_5fdepth_1344',['max_depth',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['max_5fiosbusytime_1345',['max_iosbusytime',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a5860206701c43b7035475dc3f62a23ef',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['max_5fiosinprogress_1346',['max_iosinprogress',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a240b9e4d3d0ee510c46347e735185688',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['max_5fkey_5fsize_1347',['max_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['max_5fvalue_5fsize_1348',['max_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['metadata_1349',['metadata',['../structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca',1,'llfio_v2_xxx::algorithm::contents_visitor::contents_type']]],
+ ['min_5fiosinprogress_1350',['min_iosinprogress',['../classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html#a81540923522973756560e20c44a0e948',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item']]],
+ ['min_5fkey_5fsize_1351',['min_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['min_5fvalue_5fsize_1352',['min_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
];
diff --git a/search/variables_a.html b/search/variables_a.html
index 08924881..1f650553 100644
--- a/search/variables_a.html
+++ b/search/variables_a.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_a.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_a.js b/search/variables_a.js
index b9456c6c..981b1547 100644
--- a/search/variables_a.js
+++ b/search/variables_a.js
@@ -1,6 +1,7 @@
var searchData=
[
- ['path',['path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['pid',['pid',['../structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc',1,'llfio_v2_xxx::native_handle_type']]],
- ['preferred_5fseparator',['preferred_separator',['../classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b',1,'llfio_v2_xxx::path_view_component::preferred_separator()'],['../classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee',1,'llfio_v2_xxx::path_view::preferred_separator()']]]
+ ['name_1353',['name',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed',1,'kvstore_v1_xxx::basic_key_value_store_info::name()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf',1,'llfio_v2_xxx::storage_profile::item_base::name()']]],
+ ['noexec_1354',['noexec',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['nosuid_1355',['nosuid',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['nsecs_1356',['nsecs',['../structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359',1,'llfio_v2_xxx::deadline']]]
];
diff --git a/search/variables_b.html b/search/variables_b.html
index ea46965c..c02d066f 100644
--- a/search/variables_b.html
+++ b/search/variables_b.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_b.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_b.js b/search/variables_b.js
index e91d4fdf..6530f39e 100644
--- a/search/variables_b.js
+++ b/search/variables_b.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['rdonly',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
+ ['offset_1357',['offset',['../structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e',1,'llfio_v2_xxx::file_handle::extent_pair']]]
];
diff --git a/search/variables_c.html b/search/variables_c.html
index 94bf1a67..4b866c6c 100644
--- a/search/variables_c.html
+++ b/search/variables_c.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_c.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_c.js b/search/variables_c.js
index 136bdf21..baa524e4 100644
--- a/search/variables_c.js
+++ b/search/variables_c.js
@@ -1,27 +1,7 @@
var searchData=
[
- ['score',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['st_5fallocated',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fatim',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fbirthtim',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblksize',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblocks',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fcompressed',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fctim',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fdev',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fflags',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgen',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgid',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fino',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fmtim',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fnlink',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fperms',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5frdev',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5freparse_5fpoint',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsize',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsparse',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5ftype',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fuid',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
- ['stat',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
- ['steady',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]]
+ ['path_1358',['path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['preferred_5fseparator_1359',['preferred_separator',['../classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b',1,'llfio_v2_xxx::path_view_component']]],
+ ['private_5fcommitted_1360',['private_committed',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['private_5fpaged_5fin_1361',['private_paged_in',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884',1,'llfio_v2_xxx::utils::process_memory_usage']]]
];
diff --git a/search/variables_d.html b/search/variables_d.html
index b9381e99..84d878b8 100644
--- a/search/variables_d.html
+++ b/search/variables_d.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_d.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_d.js b/search/variables_d.js
index 7db39d20..943ab38a 100644
--- a/search/variables_d.js
+++ b/search/variables_d.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['type',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base']]]
+ ['rdonly_1362',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['reads_1363',['reads',['../structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc',1,'llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness']]]
];
diff --git a/search/variables_e.html b/search/variables_e.html
index 375ad705..b0d9b7b2 100644
--- a/search/variables_e.html
+++ b/search/variables_e.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_e.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_e.js b/search/variables_e.js
index 3604e60b..c4cba4cb 100644
--- a/search/variables_e.js
+++ b/search/variables_e.js
@@ -1,4 +1,29 @@
var searchData=
[
- ['utc',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]]
+ ['score_1364',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['size_1365',['size',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9',1,'llfio_v2_xxx::algorithm::traversal_summary']]],
+ ['st_5fallocated_1366',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fatim_1367',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fbirthtim_1368',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblksize_1369',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblocks_1370',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fcompressed_1371',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fctim_1372',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fdev_1373',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fflags_1374',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgen_1375',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgid_1376',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fino_1377',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fmtim_1378',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fnlink_1379',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fperms_1380',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5frdev_1381',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5freparse_5fpoint_1382',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsize_1383',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsparse_1384',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5ftype_1385',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fuid_1386',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
+ ['stat_1387',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
+ ['state_1388',['state',['../structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4',1,'llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state']]],
+ ['steady_1389',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]]
];
diff --git a/search/variables_f.html b/search/variables_f.html
index d3714186..a708dbf0 100644
--- a/search/variables_f.html
+++ b/search/variables_f.html
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="variables_f.js"></script>
<script type="text/javascript" src="search.js"></script>
@@ -11,15 +11,19 @@
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
+/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
+/* @license-end */
--></script>
</div>
</body>
diff --git a/search/variables_f.js b/search/variables_f.js
index 0eb696e4..510093c1 100644
--- a/search/variables_f.js
+++ b/search/variables_f.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['value',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()']]]
+ ['total_5faddress_5fspace_5fin_5fuse_1390',['total_address_space_in_use',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['total_5faddress_5fspace_5fpaged_5fin_1391',['total_address_space_paged_in',['../structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f',1,'llfio_v2_xxx::utils::process_memory_usage']]],
+ ['type_1392',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base']]],
+ ['types_1393',['types',['../structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7',1,'llfio_v2_xxx::algorithm::traversal_summary']]]
];
diff --git a/stat_8hpp.html b/stat_8hpp.html
index 1205af19..1e3850d1 100644
--- a/stat_8hpp.html
+++ b/stat_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/stat.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('stat_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('stat_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('stat_8hpp.html','');});
<div class="title">stat.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides stat.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -105,7 +104,7 @@ Namespaces</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides stat. </p>
+<div class="textblock"><p>Provides stat </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -114,7 +113,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="stat_8hpp.html">stat.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/statfs_8hpp.html b/statfs_8hpp.html
index 6f50eb0c..f6cf97dd 100644
--- a/statfs_8hpp.html
+++ b/statfs_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/statfs.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('statfs_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('statfs_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -82,14 +84,12 @@ $(document).ready(function(){initNavTree('statfs_8hpp.html','');});
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
-<a href="#namespaces">Namespaces</a> </div>
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">statfs.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides statfs.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@@ -105,9 +105,15 @@ Namespaces</h2></td></tr>
<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a6c7e4173df2abeba7daed38f11bffc09"><td class="memItemLeft" align="right" valign="top"><a id="a6c7e4173df2abeba7daed38f11bffc09"></a>
+constexpr float&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::detail::constexpr_float_allbits_set_nan</b> ()</td></tr>
+<tr class="separator:a6c7e4173df2abeba7daed38f11bffc09"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides statfs. </p>
+<div class="textblock"><p>Provides statfs </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -116,7 +122,7 @@ Namespaces</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="statfs_8hpp.html">statfs.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/statfs_8hpp.js b/statfs_8hpp.js
new file mode 100644
index 00000000..416cdc78
--- /dev/null
+++ b/statfs_8hpp.js
@@ -0,0 +1,6 @@
+var statfs_8hpp =
+[
+ [ "statfs_t", "structllfio__v2__xxx_1_1statfs__t.html", "structllfio__v2__xxx_1_1statfs__t" ],
+ [ "f_flags_t", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t" ],
+ [ "constexpr_float_allbits_set_nan", "statfs_8hpp.html#a6c7e4173df2abeba7daed38f11bffc09", null ]
+]; \ No newline at end of file
diff --git a/storage__profile_8hpp.html b/storage__profile_8hpp.html
index 943c3412..e958ca47 100644
--- a/storage__profile_8hpp.html
+++ b/storage__profile_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/storage_profile.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('storage__profile_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('storage__profile_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -90,10 +92,7 @@ $(document).ready(function(){initNavTree('storage__profile_8hpp.html','');});
<div class="title">storage_profile.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides storage_profile.
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;<a class="el" href="io__service_8hpp.html">io_service.hpp</a>&quot;</code><br />
+<div class="textblock"><code>#include &quot;<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a>&quot;</code><br />
<code>#include &quot;outcome/outcome.hpp&quot;</code><br />
<code>#include &lt;regex&gt;</code><br />
<code>#include &lt;utility&gt;</code><br />
@@ -140,8 +139,8 @@ Enumerations</h2></td></tr>
&#160;&#160;<b>float_</b>,
<b>string</b>
<br />
- }<tr class="memdesc:ac4910e412ff87c1c9e33615d81b2d238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types potentially storable in a storage profile. <br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:ac4910e412ff87c1c9e33615d81b2d238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types potentially storable in a storage profile. <br /></td></tr>
<tr class="separator:ac4910e412ff87c1c9e33615d81b2d238"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -156,27 +155,27 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:aac385da4b780e8a6a87444fe3579578c"><td class="memTemplItemLeft" align="right" valign="top">constexpr T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#aac385da4b780e8a6a87444fe3579578c">llfio_v2_xxx::storage_profile::default_value</a> ()</td></tr>
<tr class="memdesc:aac385da4b780e8a6a87444fe3579578c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialise for a different default value for T. <br /></td></tr>
<tr class="separator:aac385da4b780e8a6a87444fe3579578c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memTemplParams" colspan="2"><a id="ab51d8b1bb205563a6b82900f6de7bd63"></a>
+<tr class="memitem:a0a16ab53f56c2a0de98643f6838d6765"><td class="memItemLeft" align="right" valign="top"><a id="a0a16ab53f56c2a0de98643f6838d6765"></a>
template&lt;&gt; </td></tr>
-<tr class="memitem:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memTemplItemLeft" align="right" valign="top">constexpr storage_types&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::map_to_storage_type&lt; io_service::extent_type &gt;</b> ()</td></tr>
-<tr class="separator:ab51d8b1bb205563a6b82900f6de7bd63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memTemplParams" colspan="2"><a id="afc8c9aab3aef68e2bfdf76e85b22b194"></a>
+<tr class="memitem:a0a16ab53f56c2a0de98643f6838d6765"><td class="memTemplItemLeft" align="right" valign="top">constexpr storage_types&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::map_to_storage_type&lt; io_handle::extent_type &gt;</b> ()</td></tr>
+<tr class="separator:a0a16ab53f56c2a0de98643f6838d6765"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memItemLeft" align="right" valign="top"><a id="a3e1eeb85729bbc7ecb5d0861fac74916"></a>
template&lt;&gt; </td></tr>
-<tr class="memitem:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memTemplItemLeft" align="right" valign="top">constexpr io_service::extent_type&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::default_value&lt; io_service::extent_type &gt;</b> ()</td></tr>
-<tr class="separator:afc8c9aab3aef68e2bfdf76e85b22b194"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memTemplParams" colspan="2"><a id="a79927d0371baaf191dac6acb2fb58dbb"></a>
+<tr class="memitem:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memTemplItemLeft" align="right" valign="top">constexpr io_handle::extent_type&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::default_value&lt; io_handle::extent_type &gt;</b> ()</td></tr>
+<tr class="separator:a3e1eeb85729bbc7ecb5d0861fac74916"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memItemLeft" align="right" valign="top"><a id="a79927d0371baaf191dac6acb2fb58dbb"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a79927d0371baaf191dac6acb2fb58dbb"><td class="memTemplItemLeft" align="right" valign="top">constexpr storage_types&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::map_to_storage_type&lt; unsigned int &gt;</b> ()</td></tr>
<tr class="separator:a79927d0371baaf191dac6acb2fb58dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memTemplParams" colspan="2"><a id="a974992f9521e12b67597474b92876876"></a>
+<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memItemLeft" align="right" valign="top"><a id="a974992f9521e12b67597474b92876876"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a974992f9521e12b67597474b92876876"><td class="memTemplItemLeft" align="right" valign="top">constexpr unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::default_value&lt; unsigned int &gt;</b> ()</td></tr>
<tr class="separator:a974992f9521e12b67597474b92876876"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memTemplParams" colspan="2"><a id="a2be36be3a6e4a8e892f34666642d7ceb"></a>
+<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memItemLeft" align="right" valign="top"><a id="a2be36be3a6e4a8e892f34666642d7ceb"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memTemplItemLeft" align="right" valign="top">constexpr storage_types&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::map_to_storage_type&lt; float &gt;</b> ()</td></tr>
<tr class="separator:a2be36be3a6e4a8e892f34666642d7ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memTemplParams" colspan="2"><a id="ae12aeddbd8623fc0118be8d653e2ab23"></a>
+<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memItemLeft" align="right" valign="top"><a id="ae12aeddbd8623fc0118be8d653e2ab23"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memTemplItemLeft" align="right" valign="top">constexpr storage_types&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::storage_profile::map_to_storage_type&lt; std::string &gt;</b> ()</td></tr>
<tr class="separator:ae12aeddbd8623fc0118be8d653e2ab23"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -281,7 +280,7 @@ outcome&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfi
<tr class="separator:ab4617a30b12ef98c811914f6d78bfa72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides storage_profile. </p>
+<div class="textblock"><p>Provides storage_profile </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -290,7 +289,7 @@ outcome&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfi
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="storage__profile_8hpp.html">storage_profile.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/storage__profile_8hpp.js b/storage__profile_8hpp.js
index 7fec10c1..ffbf1143 100644
--- a/storage__profile_8hpp.js
+++ b/storage__profile_8hpp.js
@@ -20,14 +20,14 @@ var storage__profile_8hpp =
[ "clock_granularity", "storage__profile_8hpp.html#a9feea238482248c461b240cf0272390f", null ],
[ "cpu", "storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff", null ],
[ "default_value", "storage__profile_8hpp.html#aac385da4b780e8a6a87444fe3579578c", null ],
- [ "default_value< io_service::extent_type >", "storage__profile_8hpp.html#afc8c9aab3aef68e2bfdf76e85b22b194", null ],
+ [ "default_value< io_handle::extent_type >", "storage__profile_8hpp.html#a3e1eeb85729bbc7ecb5d0861fac74916", null ],
[ "default_value< unsigned int >", "storage__profile_8hpp.html#a974992f9521e12b67597474b92876876", null ],
[ "device", "storage__profile_8hpp.html#ad0452376213dca667960263dbb2044c2", null ],
[ "drop_filesystem_cache_support", "storage__profile_8hpp.html#ae7ed1ab57b777ccf201ac1bf33ccf747", null ],
[ "fs", "storage__profile_8hpp.html#af3395cd9610e7eb366134a0e723ab971", null ],
[ "map_to_storage_type", "storage__profile_8hpp.html#a9c35f07dd0bcac144d54ad4779533880", null ],
[ "map_to_storage_type< float >", "storage__profile_8hpp.html#a2be36be3a6e4a8e892f34666642d7ceb", null ],
- [ "map_to_storage_type< io_service::extent_type >", "storage__profile_8hpp.html#ab51d8b1bb205563a6b82900f6de7bd63", null ],
+ [ "map_to_storage_type< io_handle::extent_type >", "storage__profile_8hpp.html#a0a16ab53f56c2a0de98643f6838d6765", null ],
[ "map_to_storage_type< std::string >", "storage__profile_8hpp.html#ae12aeddbd8623fc0118be8d653e2ab23", null ],
[ "map_to_storage_type< unsigned int >", "storage__profile_8hpp.html#a79927d0371baaf191dac6acb2fb58dbb", null ],
[ "mem", "storage__profile_8hpp.html#a42ddc873c6d7178340a72417d1cc42b3", null ],
diff --git a/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html b/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html
index e14efbba..fa34c160 100644
--- a/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html
+++ b/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt; Struct Template Reference</title>
+<title>LLFIO: in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,16 +83,14 @@ $(document).ready(function(){initNavTree('structin__place__attach__detach_1_1tra
<div class="header">
<div class="headertitle">
-<div class="title">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt; Struct Template Reference</div> </div>
+<div class="title">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.png" usemap="#in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::map_5Fhandle_20_3E_map" alt=""/>
- <map id="in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::map_5Fhandle_20_3E_map" name="in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::map_5Fhandle_20_3E_map">
-</map>
+ <img src="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.png" alt=""/>
</div></div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></li>
@@ -103,7 +103,7 @@ Inheritance diagram for in_place_attach_detach::traits::disable_attached_for&lt;
<li class="navelem"><b>in_place_attach_detach</b></li><li class="navelem"><b>traits</b></li><li class="navelem"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html b/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html
index 56afbe9b..fb3c8b00 100644
--- a/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html
+++ b/structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt; Struct Template Reference</title>
+<title>LLFIO: in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,16 +83,14 @@ $(document).ready(function(){initNavTree('structin__place__attach__detach_1_1tra
<div class="header">
<div class="headertitle">
-<div class="title">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt; Struct Template Reference</div> </div>
+<div class="title">in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for in_place_attach_detach::traits::disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.png" usemap="#in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_20_3E_map" alt=""/>
- <map id="in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_20_3E_map" name="in_5Fplace_5Fattach_5Fdetach::traits::disable_5Fattached_5Ffor_3C_20llfio_5Fv2_5Fxxx::mapped_5Ffile_5Fhandle_20_3E_map">
-</map>
+ <img src="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.png" alt=""/>
</div></div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="mapped__file__handle_8hpp.html">mapped_file_handle.hpp</a></li>
@@ -103,7 +103,7 @@ Inheritance diagram for in_place_attach_detach::traits::disable_attached_for&lt;
<li class="navelem"><b>in_place_attach_detach</b></li><li class="navelem"><b>traits</b></li><li class="navelem"><a class="el" href="structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html">disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html b/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
index b6c13cf0..8f8dabd9 100644
--- a/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
+++ b/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__value__store__info.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__value__store__info.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -110,7 +112,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1basic__key__value__store__info.html b/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
index bc237a88..928e5d63 100644
--- a/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
+++ b/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::basic_key_value_store_info Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__value__store__info.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__value__store__info.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -129,7 +131,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="str
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a71bf22a199b1f8461e9612269eb2cf29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">QUICKCPPLIB_BITFIELD_BEGIN</a> (features)</td></tr>
-<tr class="memdesc:a71bf22a199b1f8461e9612269eb2cf29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Features requested, or provided by, this store. <a href="#a71bf22a199b1f8461e9612269eb2cf29">More...</a><br /></td></tr>
+<tr class="memdesc:a71bf22a199b1f8461e9612269eb2cf29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Features requested, or provided by, this store. <a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">More...</a><br /></td></tr>
<tr class="separator:a71bf22a199b1f8461e9612269eb2cf29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74806d5aad24bdf1607755aefd8d70b4"><td class="memItemLeft" align="right" valign="top"><a id="a74806d5aad24bdf1607755aefd8d70b4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">QUICKCPPLIB_BITFIELD_END</a> (features) features features</td></tr>
@@ -196,8 +198,18 @@ const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>&lt; Updates do not appear to remove any pinned keys.</p>
<p>&lt; In-place partial updates are recorded as change deltas.</p>
<p>&lt; The ability to pin the value of more than one key in an atomic snapshot.</p>
-<p>&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change. </p>
-<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; none = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Bare key-value store. Very likely to choose a hardware implementation, if one is available.</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"></span> shared_memory = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch.</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"></span> history = 1U &lt;&lt; 2U, <span class="comment">//!&lt; A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss.</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"></span> stable_values = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Updates do not appear to modify any pinned value.</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"></span> stable_keys = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Updates do not appear to remove any pinned keys.</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"></span> update_deltas = 1U &lt;&lt; 5U, <span class="comment">//!&lt; In-place partial updates are recorded as change deltas.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> atomic_snapshots = 1U &lt;&lt; 6U, <span class="comment">//!&lt; The ability to pin the value of more than one key in an atomic snapshot.</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> atomic_transactions = 1U &lt;&lt; 7U <span class="comment">//!&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change.</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span> }</div></div><!-- fragment -->
+<p>&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change.</p>
+<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; none = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Bare key-value store. Very likely to choose a hardware implementation, if one is available.</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"></span> shared_memory = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch.</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"></span> history = 1U &lt;&lt; 2U, <span class="comment">//!&lt; A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"></span> stable_values = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Updates do not appear to modify any pinned value.</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"></span> stable_keys = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Updates do not appear to remove any pinned keys.</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"></span> update_deltas = 1U &lt;&lt; 5U, <span class="comment">//!&lt; In-place partial updates are recorded as change deltas.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> atomic_snapshots = 1U &lt;&lt; 6U, <span class="comment">//!&lt; The ability to pin the value of more than one key in an atomic snapshot.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> atomic_transactions = 1U &lt;&lt; 7U <span class="comment">//!&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change.</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span> }</div>
+</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
@@ -257,7 +269,7 @@ const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">basic_key_value_store_info</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__attachable-members.html b/structkvstore__v1__xxx_1_1traits_1_1is__attachable-members.html
index 7038976d..4c98dd8e 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__attachable-members.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__attachable-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__attachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__attachable.html b/structkvstore__v1__xxx_1_1traits_1_1is__attachable.html
index 038461c1..012b28b1 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__attachable.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__attachable.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::traits::is_attachable&lt; T, AttachResultType &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__attachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__attachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -116,7 +118,7 @@ struct kvstore_v1_xxx::traits::is_attachable&lt; T, AttachResultType &gt;</h3>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">traits</a></li><li class="navelem"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__attachable.html">is_attachable</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__detachable-members.html b/structkvstore__v1__xxx_1_1traits_1_1is__detachable-members.html
index b306bbf5..e5af0d30 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__detachable-members.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__detachable-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__detachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__detachable.html b/structkvstore__v1__xxx_1_1traits_1_1is__detachable.html
index 0326a2b5..c4131fdf 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__detachable.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__detachable.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::traits::is_detachable&lt; T, DetachResultType &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__detachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__detachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -116,7 +118,7 @@ struct kvstore_v1_xxx::traits::is_detachable&lt; T, DetachResultType &gt;</h3>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">traits</a></li><li class="navelem"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__detachable.html">is_detachable</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable-members.html b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable-members.html
index 9541476c..a818029c 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable-members.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html
index 8423719b..16aba7d9 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::traits::is_trivially_attachable&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -116,7 +118,7 @@ struct kvstore_v1_xxx::traits::is_trivially_attachable&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">traits</a></li><li class="navelem"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html">is_trivially_attachable</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable-members.html b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable-members.html
index 16b406c3..124d7c2b 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable-members.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html
index 5012935f..901ae768 100644
--- a/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html
+++ b/structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: kvstore_v1_xxx::traits::is_trivially_detachable&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -116,7 +118,7 @@ struct kvstore_v1_xxx::traits::is_trivially_detachable&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></li><li class="navelem"><a class="el" href="namespacekvstore__v1__xxx_1_1traits.html">traits</a></li><li class="navelem"><a class="el" href="structkvstore__v1__xxx_1_1traits_1_1is__trivially__detachable.html">is_trivially_detachable</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor-members.html b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor-members.html
new file mode 100644
index 00000000..a8a6d09f
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::compare_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">llfio_v2_xxx::algorithm::compare_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">directory_open_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, path_view leaf, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">llfio_v2_xxx::algorithm::compare_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a>(void *data, result&lt; size_t &gt; result) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae">post_enumeration</a>(void *data, const directory_handle &amp;dirh, directory_handle::buffers_type &amp;contents, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">llfio_v2_xxx::algorithm::compare_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a>(void *data, const directory_handle &amp;dirh, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a>(void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~traverse_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html
new file mode 100644
index 00000000..4ee33d5e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html
@@ -0,0 +1,275 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::compare_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::compare_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A visitor for the filesystem traversal and comparison algorithm.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;difference.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::compare_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::compare_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::algorithm::compare_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::algorithm::compare_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" title="A visitor for the filesystem traversal algorithm." alt="llfio_v2_xxx::algorithm::traverse_visitor" shape="rect" coords="0,0,231,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7ec4aafb16d931783d190cbd8b9c5f7d"><td class="memItemLeft" align="right" valign="top"><a id="a7ec4aafb16d931783d190cbd8b9c5f7d"></a>
+virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">directory_open_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> leaf, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:a7ec4aafb16d931783d190cbd8b9c5f7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override ignores failures to traverse into the directory. <br /></td></tr>
+<tr class="separator:a7ec4aafb16d931783d190cbd8b9c5f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acec6f86b0ee269eb534f715b2affc5ae"><td class="memItemLeft" align="right" valign="top"><a id="acec6f86b0ee269eb534f715b2affc5ae"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae">post_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a>, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:acec6f86b0ee269eb534f715b2affc5ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override implements the summary. <br /></td></tr>
+<tr class="separator:acec6f86b0ee269eb534f715b2affc5ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3c4b226532089d121dc3d96ed88b39"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a4d3c4b226532089d121dc3d96ed88b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to decide whether to enumerate a directory. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">More...</a><br /></td></tr>
+<tr class="separator:a4d3c4b226532089d121dc3d96ed88b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a> (void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td></tr>
+<tr class="memdesc:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">More...</a><br /></td></tr>
+<tr class="separator:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac188f8691259ec970aeff79b47a5685b"><td class="memItemLeft" align="right" valign="top"><a id="ac188f8691259ec970aeff79b47a5685b"></a>
+virtual result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a> (void *data, result&lt; size_t &gt; result) noexcept</td></tr>
+<tr class="memdesc:ac188f8691259ec970aeff79b47a5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a traversal finishes, whether due to success or failure. Always called from the original thread. <br /></td></tr>
+<tr class="separator:ac188f8691259ec970aeff79b47a5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A visitor for the filesystem traversal and comparison algorithm. </p>
+<p>Note that at any time, returning a failure causes <code>compare()</code> to exit as soon as possible with the same failure.</p>
+<p>You can override the members here inherited from <code>traverse_visitor</code>, however note that <code>compare()</code> is entirely implemented using <code>traverse()</code>, so not calling the implementations here will affect operation. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a4d3c4b226532089d121dc3d96ed88b39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d3c4b226532089d121dc3d96ed88b39">&#9670;&nbsp;</a></span>pre_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::traverse_visitor::pre_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called to decide whether to enumerate a directory. </p>
+<p>Note that it is more efficient to ignore the directory entry in <code>post_enumeration()</code> than to ignore it here, as a handle is opened for the directory before this callback. Equally, if you need that handle to inspect the directory e.g. to check if one is entering a different filesystem from the root, here is best.</p>
+<p>The default returns <code>true</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; (void) data;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a44e3a5ace0aa50d8f6f836c48e510c54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e3a5ace0aa50d8f6f836c48e510c54">&#9670;&nbsp;</a></span>stack_updated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::stack_updated </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dirs_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_dirs_remaining</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_depth_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dirs_processed</td><td>The total number of directories traversed so far. </td></tr>
+ <tr><td class="paramname">known_dirs_remaining</td><td>The currently known number of directories awaiting traversal. </td></tr>
+ <tr><td class="paramname">depth_processed</td><td>How many levels deep we have already completely traversed. </td></tr>
+ <tr><td class="paramname">known_depth_remaining</td><td>The currently known number of levels we shall traverse.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (void) data;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (void) dirs_processed;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (void) known_dirs_remaining;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; (void) depth_processed;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; (void) known_depth_remaining;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/difference.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html">compare_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.js b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.js
new file mode 100644
index 00000000..bf1586cb
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.js
@@ -0,0 +1,8 @@
+var structllfio__v2__xxx_1_1algorithm_1_1compare__visitor =
+[
+ [ "directory_open_failed", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d", null ],
+ [ "finished", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#ac188f8691259ec970aeff79b47a5685b", null ],
+ [ "post_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae", null ],
+ [ "pre_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a4d3c4b226532089d121dc3d96ed88b39", null ],
+ [ "stack_updated", "structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.png b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.png
new file mode 100644
index 00000000..b5ff8939
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor-members.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor-members.html
new file mode 100644
index 00000000..fe1f1dcc
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor-members.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_thread_contents</b>(_state_type *state) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">contents</a>(const path_handle &amp;dirh, contents_visitor *visitor, size_t threads, bool force_slow_path) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a">contents_include_directories</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2">contents_include_files</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577">contents_include_metadata</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5">contents_include_symlinks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c">contents_visitor</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250">contents_visitor</a>(stat_t::want _metadata, bool _include_files=true, bool _include_directories=true, bool _include_symlinks=true)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">directory_open_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, path_view leaf, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749">finished</a>(void *data, result&lt; size_t &gt; result) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d">post_enumeration</a>(void *data, const directory_handle &amp;dirh, directory_handle::buffers_type &amp;contents, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">llfio_v2_xxx::algorithm::contents_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a>(void *data, const directory_handle &amp;dirh, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a>(void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~traverse_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html
new file mode 100644
index 00000000..a77eb0b4
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html
@@ -0,0 +1,456 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::contents_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A visitor for the filesystem contents algorithm.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;contents.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::contents_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::contents_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::algorithm::contents_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::algorithm::contents_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" title="A visitor for the filesystem traversal algorithm." alt="llfio_v2_xxx::algorithm::traverse_visitor" shape="rect" coords="0,0,229,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">_state_type</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerated contents, and what parts of their <code>stat_t</code> is valid. <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af6abea2e039efe9a9cb4169ead10b16c"><td class="memItemLeft" align="right" valign="top"><a id="af6abea2e039efe9a9cb4169ead10b16c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c">contents_visitor</a> ()=default</td></tr>
+<tr class="memdesc:af6abea2e039efe9a9cb4169ead10b16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default construtor. <br /></td></tr>
+<tr class="separator:af6abea2e039efe9a9cb4169ead10b16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba01c69fc160f888879cc5c186fca250"><td class="memItemLeft" align="right" valign="top"><a id="aba01c69fc160f888879cc5c186fca250"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250">contents_visitor</a> (stat_t::want _metadata, bool _include_files=true, bool _include_directories=true, bool _include_symlinks=true)</td></tr>
+<tr class="memdesc:aba01c69fc160f888879cc5c186fca250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an instance. <br /></td></tr>
+<tr class="separator:aba01c69fc160f888879cc5c186fca250"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21e87fbd21296205b34cbf375d34d74d"><td class="memItemLeft" align="right" valign="top"><a id="a21e87fbd21296205b34cbf375d34d74d"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d">post_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">contents</a>, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a21e87fbd21296205b34cbf375d34d74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default implementation accumulates the contents into thread local storage. At traverse end, all the thread local storages are coalesced into a single result, the member variable <code>contents</code>. <br /></td></tr>
+<tr class="separator:a21e87fbd21296205b34cbf375d34d74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a562fe188c4ec1e2ed1013cdcdbded749"><td class="memItemLeft" align="right" valign="top"><a id="a562fe188c4ec1e2ed1013cdcdbded749"></a>
+virtual result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749">finished</a> (void *data, result&lt; size_t &gt; result) noexcept</td></tr>
+<tr class="memdesc:a562fe188c4ec1e2ed1013cdcdbded749"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a traversal finishes, this default implementation merges all the thread local results into <code>contents</code>, and deallocates the thread local results. <br /></td></tr>
+<tr class="separator:a562fe188c4ec1e2ed1013cdcdbded749"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a649d2496caac9dd869eb0ab2e135a0a2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">directory_open_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> leaf, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a649d2496caac9dd869eb0ab2e135a0a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when we failed to open a directory for enumeration. The default fails the traversal with that error. Return a default constructed instance to ignore the failure. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">More...</a><br /></td></tr>
+<tr class="separator:a649d2496caac9dd869eb0ab2e135a0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3c4b226532089d121dc3d96ed88b39"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a4d3c4b226532089d121dc3d96ed88b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to decide whether to enumerate a directory. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">More...</a><br /></td></tr>
+<tr class="separator:a4d3c4b226532089d121dc3d96ed88b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a> (void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td></tr>
+<tr class="memdesc:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">More...</a><br /></td></tr>
+<tr class="separator:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ab18385d61d5aac5d34711a3a12fb45b2"><td class="memItemLeft" align="right" valign="top"><a id="ab18385d61d5aac5d34711a3a12fb45b2"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2">contents_include_files</a> {true}</td></tr>
+<tr class="memdesc:ab18385d61d5aac5d34711a3a12fb45b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to include files in the contents. <br /></td></tr>
+<tr class="separator:ab18385d61d5aac5d34711a3a12fb45b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c9fa61b7ddf56d958331de2e44cbf1a"><td class="memItemLeft" align="right" valign="top"><a id="a7c9fa61b7ddf56d958331de2e44cbf1a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a">contents_include_directories</a> {true}</td></tr>
+<tr class="memdesc:a7c9fa61b7ddf56d958331de2e44cbf1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to include directories in the contents. <br /></td></tr>
+<tr class="separator:a7c9fa61b7ddf56d958331de2e44cbf1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73ad0141c99d70d09ee6026ac8c19ab5"><td class="memItemLeft" align="right" valign="top"><a id="a73ad0141c99d70d09ee6026ac8c19ab5"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5">contents_include_symlinks</a> {true}</td></tr>
+<tr class="memdesc:a73ad0141c99d70d09ee6026ac8c19ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to include symlinks in the contents. <br /></td></tr>
+<tr class="separator:a73ad0141c99d70d09ee6026ac8c19ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a577d4ae1477e1cd9531679b0dff41577"><td class="memItemLeft" align="right" valign="top"><a id="a577d4ae1477e1cd9531679b0dff41577"></a>
+stat_t::want&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577">contents_include_metadata</a> {stat_t::want::none}</td></tr>
+<tr class="memdesc:a577d4ae1477e1cd9531679b0dff41577"><td class="mdescLeft">&#160;</td><td class="mdescRight">What <code>stat_t::want</code> to include, if enumeration doesn't provide these, they will be additionally fetched. <br /></td></tr>
+<tr class="separator:a577d4ae1477e1cd9531679b0dff41577"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a6eb0213e53e6f1acec63f44da8acde49"><td class="memItemLeft" align="right" valign="top"><a id="a6eb0213e53e6f1acec63f44da8acde49"></a>
+static std::shared_ptr&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_thread_contents</b> (<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">_state_type</a> *state) noexcept</td></tr>
+<tr class="separator:a6eb0213e53e6f1acec63f44da8acde49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a5f02be8e551bc5749757abba8e0d92c9"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">contents</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a> *visitor, size_t threads, bool force_slow_path) noexcept</td></tr>
+<tr class="memdesc:a5f02be8e551bc5749757abba8e0d92c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the contents of everything within and under <code>dirh</code>. What is returned is unordered. <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9">More...</a><br /></td></tr>
+<tr class="separator:a5f02be8e551bc5749757abba8e0d92c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A visitor for the filesystem contents algorithm. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a649d2496caac9dd869eb0ab2e135a0a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a649d2496caac9dd869eb0ab2e135a0a2">&#9670;&nbsp;</a></span>directory_open_failed()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::algorithm::traverse_visitor::directory_open_failed </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">result&lt; void &gt;::error_type &amp;&amp;&#160;</td>
+ <td class="paramname"><em>error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td>
+ <td class="paramname"><em>leaf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called when we failed to open a directory for enumeration. The default fails the traversal with that error. Return a default constructed instance to ignore the failure. </p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">llfio_v2_xxx::algorithm::summarize_visitor</a>, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">llfio_v2_xxx::algorithm::compare_visitor</a>, and <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">llfio_v2_xxx::algorithm::reduce_visitor</a>.</p>
+<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; (void) data;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; (void) leaf;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> failure(std::move(error));</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a4d3c4b226532089d121dc3d96ed88b39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d3c4b226532089d121dc3d96ed88b39">&#9670;&nbsp;</a></span>pre_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::traverse_visitor::pre_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called to decide whether to enumerate a directory. </p>
+<p>Note that it is more efficient to ignore the directory entry in <code>post_enumeration()</code> than to ignore it here, as a handle is opened for the directory before this callback. Equally, if you need that handle to inspect the directory e.g. to check if one is entering a different filesystem from the root, here is best.</p>
+<p>The default returns <code>true</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; (void) data;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a44e3a5ace0aa50d8f6f836c48e510c54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e3a5ace0aa50d8f6f836c48e510c54">&#9670;&nbsp;</a></span>stack_updated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::stack_updated </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dirs_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_dirs_remaining</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_depth_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dirs_processed</td><td>The total number of directories traversed so far. </td></tr>
+ <tr><td class="paramname">known_dirs_remaining</td><td>The currently known number of directories awaiting traversal. </td></tr>
+ <tr><td class="paramname">depth_processed</td><td>How many levels deep we have already completely traversed. </td></tr>
+ <tr><td class="paramname">known_depth_remaining</td><td>The currently known number of levels we shall traverse.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (void) data;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (void) dirs_processed;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (void) known_dirs_remaining;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; (void) depth_processed;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; (void) known_depth_remaining;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Friends And Related Function Documentation</h2>
+<a id="a5f02be8e551bc5749757abba8e0d92c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f02be8e551bc5749757abba8e0d92c9">&#9670;&nbsp;</a></span>contents</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">result&lt;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a>&gt; contents </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a> *&#160;</td>
+ <td class="paramname"><em>visitor</em> = <code>nullptr</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>threads</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&#160;</td>
+ <td class="paramname"><em>force_slow_path</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Calculate the contents of everything within and under <code>dirh</code>. What is returned is unordered. </p>
+<p>This is a very thin veneer over <code>traverse()</code> which came out of the fact that I kept writing "get me the contents" traversal visitors again and again, so eventually I just wrote a library edition. Its only "clever" bit is that it stores the contents in thread local storage, and merges the contents afterwards.</p>
+<p>It is race free to concurrent relocations of <code>dirh</code>. It is entirely implemented in header-only code, as it is very simple. </p>
+<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c">contents_visitor</a> default_visitor;</div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(visitor == <span class="keyword">nullptr</span>)</div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; visitor = &amp;default_visitor;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; contents_visitor::_state_type state(dirh);</div>
+<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; OUTCOME_TRY(<span class="keyword">auto</span> &amp;&amp;dirhpath, dirh.current_path());</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; state.rootdirpathlen.store(dirhpath.native().size() + 1, std::memory_order_relaxed);</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; OUTCOME_TRY(<a class="code" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">traverse</a>(dirh, visitor, threads, &amp;state, force_slow_path));</div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> {std::move(state.contents)};</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="contents_8hpp.html">contents.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1contents__visitor_html_af6abea2e039efe9a9cb4169ead10b16c"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c">llfio_v2_xxx::algorithm::contents_visitor::contents_visitor</a></div><div class="ttdeci">contents_visitor()=default</div><div class="ttdoc">Default construtor.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1algorithm_html_ae068bc16598189811d0ce2b3530f1de7"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">llfio_v2_xxx::algorithm::traverse</a></div><div class="ttdeci">result&lt; size_t &gt; traverse(const path_handle &amp;dirh, traverse_visitor *visitor, size_t threads=0, void *data=nullptr, bool force_slow_path=false) noexcept</div><div class="ttdoc">Traverse everything within and under dirh.</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.js b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.js
new file mode 100644
index 00000000..ae685a97
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.js
@@ -0,0 +1,17 @@
+var structllfio__v2__xxx_1_1algorithm_1_1contents__visitor =
+[
+ [ "_state_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type" ],
+ [ "contents_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type" ],
+ [ "contents_visitor", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#af6abea2e039efe9a9cb4169ead10b16c", null ],
+ [ "contents_visitor", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#aba01c69fc160f888879cc5c186fca250", null ],
+ [ "directory_open_failed", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2", null ],
+ [ "finished", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a562fe188c4ec1e2ed1013cdcdbded749", null ],
+ [ "post_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d", null ],
+ [ "pre_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a4d3c4b226532089d121dc3d96ed88b39", null ],
+ [ "stack_updated", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54", null ],
+ [ "contents", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a5f02be8e551bc5749757abba8e0d92c9", null ],
+ [ "contents_include_directories", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a7c9fa61b7ddf56d958331de2e44cbf1a", null ],
+ [ "contents_include_files", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#ab18385d61d5aac5d34711a3a12fb45b2", null ],
+ [ "contents_include_metadata", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a577d4ae1477e1cd9531679b0dff41577", null ],
+ [ "contents_include_symlinks", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a73ad0141c99d70d09ee6026ac8c19ab5", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.png b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.png
new file mode 100644
index 00000000..ba2e9e56
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type-members.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type-members.html
new file mode 100644
index 00000000..896776b0
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor::_state_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_state_type</b>(const path_handle &amp;_rootdirh) (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>all_thread_contents</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>contents</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>metadata</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>rootdirh</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rootdirpathlen</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">llfio_v2_xxx::algorithm::contents_visitor::_state_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html
new file mode 100644
index 00000000..5d1f1698
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::contents_visitor::_state_type Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor::_state_type Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2bd4518bdd3043f037b6bfcdbd86ca36"><td class="memItemLeft" align="right" valign="top"><a id="a2bd4518bdd3043f037b6bfcdbd86ca36"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_state_type</b> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;_rootdirh)</td></tr>
+<tr class="separator:a2bd4518bdd3043f037b6bfcdbd86ca36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a94b47e887330cec5da765e2d9c6f70c6"><td class="memItemLeft" align="right" valign="top"><a id="a94b47e887330cec5da765e2d9c6f70c6"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>rootdirh</b></td></tr>
+<tr class="separator:a94b47e887330cec5da765e2d9c6f70c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f8a8c2617ec3e2595b1f34aa154e179"><td class="memItemLeft" align="right" valign="top"><a id="a8f8a8c2617ec3e2595b1f34aa154e179"></a>
+std::atomic&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>rootdirpathlen</b> {0}</td></tr>
+<tr class="separator:a8f8a8c2617ec3e2595b1f34aa154e179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0562f6c9c242e49bc830284a3f9b061d"><td class="memItemLeft" align="right" valign="top"><a id="a0562f6c9c242e49bc830284a3f9b061d"></a>
+std::atomic&lt; stat_t::want &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>metadata</b> {stat_t::want::all}</td></tr>
+<tr class="separator:a0562f6c9c242e49bc830284a3f9b061d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa89c6f12cc8d894fc72b48e8bbc8a634"><td class="memItemLeft" align="right" valign="top"><a id="aa89c6f12cc8d894fc72b48e8bbc8a634"></a>
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>contents</b></td></tr>
+<tr class="separator:aa89c6f12cc8d894fc72b48e8bbc8a634"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa00b47114ed20536055436a9723f56c6"><td class="memItemLeft" align="right" valign="top"><a id="aa00b47114ed20536055436a9723f56c6"></a>
+std::mutex&#160;</td><td class="memItemRight" valign="bottom"><b>lock</b></td></tr>
+<tr class="separator:aa00b47114ed20536055436a9723f56c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54dd820c8afffadc897999d64fa6f105"><td class="memItemLeft" align="right" valign="top"><a id="a54dd820c8afffadc897999d64fa6f105"></a>
+std::vector&lt; std::shared_ptr&lt; <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>all_thread_contents</b></td></tr>
+<tr class="separator:a54dd820c8afffadc897999d64fa6f105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="contents_8hpp.html">contents.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html">_state_type</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.js b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.js
new file mode 100644
index 00000000..e05d9e02
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.js
@@ -0,0 +1,10 @@
+var structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type =
+[
+ [ "_state_type", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a2bd4518bdd3043f037b6bfcdbd86ca36", null ],
+ [ "all_thread_contents", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a54dd820c8afffadc897999d64fa6f105", null ],
+ [ "contents", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#aa89c6f12cc8d894fc72b48e8bbc8a634", null ],
+ [ "lock", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#aa00b47114ed20536055436a9723f56c6", null ],
+ [ "metadata", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a0562f6c9c242e49bc830284a3f9b061d", null ],
+ [ "rootdirh", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a94b47e887330cec5da765e2d9c6f70c6", null ],
+ [ "rootdirpathlen", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1__state__type.html#a8f8a8c2617ec3e2595b1f34aa154e179", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type-members.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type-members.html
new file mode 100644
index 00000000..6b2e749b
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor::contents_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca">metadata</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">llfio_v2_xxx::algorithm::contents_visitor::contents_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html
new file mode 100644
index 00000000..02a44310
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::contents_visitor::contents_type Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::contents_visitor::contents_type Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Enumerated contents, and what parts of their <code>stat_t</code> is valid.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#details">More...</a></p>
+
+<p><code>#include &quot;contents.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::contents_visitor::contents_type:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a30ef9b01b6171889f403d64a0eee47ca"><td class="memItemLeft" align="right" valign="top"><a id="a30ef9b01b6171889f403d64a0eee47ca"></a>
+stat_t::want&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca">metadata</a> {stat_t::want::none}</td></tr>
+<tr class="memdesc:a30ef9b01b6171889f403d64a0eee47ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">The metadata valid within all the <code>stat_t</code> in the contents traversed. <br /></td></tr>
+<tr class="separator:a30ef9b01b6171889f403d64a0eee47ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2396209900e8f592db1f0b2467f7d899"><td class="memItemLeft" align="right" valign="top"><a id="a2396209900e8f592db1f0b2467f7d899"></a>
+T&#160;</td><td class="memItemRight" valign="bottom"><b>elements</b></td></tr>
+<tr class="memdesc:a2396209900e8f592db1f0b2467f7d899"><td class="mdescLeft">&#160;</td><td class="mdescRight">STL member. <br /></td></tr>
+<tr class="separator:a2396209900e8f592db1f0b2467f7d899"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Enumerated contents, and what parts of their <code>stat_t</code> is valid. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="contents_8hpp.html">contents.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html">contents_visitor</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html">contents_type</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.js b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.js
new file mode 100644
index 00000000..72846ea4
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.js
@@ -0,0 +1,5 @@
+var structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type =
+[
+ [ "elements", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a2396209900e8f592db1f0b2467f7d899", null ],
+ [ "metadata", "structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.html#a30ef9b01b6171889f403d64a0eee47ca", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.png b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.png
new file mode 100644
index 00000000..a731460c
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1contents__visitor_1_1contents__type.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1difference__item-members.html b/structllfio__v2__xxx_1_1algorithm_1_1difference__item-members.html
new file mode 100644
index 00000000..004e4cb3
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1difference__item-members.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1difference__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::difference_item Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">change_t</a> enum name</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa">content_comparison</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">content_metadata_changed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">directory_added</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">directory_removed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">directory_renamed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">file_added</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">file_linked</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">file_removed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">file_renamed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">noncontent_metadata_changed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">symlink_added</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">symlink_removed</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>unknown</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unknown</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">llfio_v2_xxx::algorithm::difference_item</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1difference__item.html b/structllfio__v2__xxx_1_1algorithm_1_1difference__item.html
new file mode 100644
index 00000000..b528bf8d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1difference__item.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::difference_item Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1difference__item.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::difference_item Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa63255f48ab96f35618852c8a7ca1c95"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">change_t</a> : uint8_t { <br />
+&#160;&#160;<b>unknown</b>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">content_metadata_changed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">noncontent_metadata_changed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">file_added</a>,
+<br />
+&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">file_renamed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">file_linked</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">file_removed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">directory_added</a>,
+<br />
+&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">directory_renamed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">directory_removed</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">symlink_added</a>,
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">symlink_removed</a>
+<br />
+ }</td></tr>
+<tr class="separator:aa63255f48ab96f35618852c8a7ca1c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a10941c642c94f2c22f4a307fdd110fd9"><td class="memItemLeft" align="right" valign="top"><a id="a10941c642c94f2c22f4a307fdd110fd9"></a>
+enum <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">llfio_v2_xxx::algorithm::difference_item::change_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>unknown</b></td></tr>
+<tr class="separator:a10941c642c94f2c22f4a307fdd110fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49aa5642b313243a6801cdb1d00024aa"><td class="memItemLeft" align="right" valign="top"><a id="a49aa5642b313243a6801cdb1d00024aa"></a>
+int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa">content_comparison</a> {0}</td></tr>
+<tr class="memdesc:a49aa5642b313243a6801cdb1d00024aa"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>memcmp()</code> of content, if requested <br /></td></tr>
+<tr class="separator:a49aa5642b313243a6801cdb1d00024aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="aa63255f48ab96f35618852c8a7ca1c95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa63255f48ab96f35618852c8a7ca1c95">&#9670;&nbsp;</a></span>change_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95">llfio_v2_xxx::algorithm::difference_item::change_t</a> : uint8_t</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd"></a>content_metadata_changed&#160;</td><td class="fielddoc"><p>Maximum extent or modified timestamp metadata has changed. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1"></a>noncontent_metadata_changed&#160;</td><td class="fielddoc"><p>Non-content metadata (perms, non-modified timestamps etc) has changed. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96"></a>file_added&#160;</td><td class="fielddoc"><p>A new file was added. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9"></a>file_renamed&#160;</td><td class="fielddoc"><p>A file was renamed within this tree. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37"></a>file_linked&#160;</td><td class="fielddoc"><p>A hard link to something else also in this tree was added. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8"></a>file_removed&#160;</td><td class="fielddoc"><p>A file was removed. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9"></a>directory_added&#160;</td><td class="fielddoc"><p>A new directory was added. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f"></a>directory_renamed&#160;</td><td class="fielddoc"><p>A directory was renamed within this tree. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5"></a>directory_removed&#160;</td><td class="fielddoc"><p>A directory was removed. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575"></a>symlink_added&#160;</td><td class="fielddoc"><p>A symlink was added. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4"></a>symlink_removed&#160;</td><td class="fielddoc"><p>A symlink was removed. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; : uint8_t</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; {</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; unknown,</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">content_metadata_changed</a>, <span class="comment">//!&lt; Maximum extent or modified timestamp metadata has changed</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">noncontent_metadata_changed</a>, <span class="comment">//!&lt; Non-content metadata (perms, non-modified timestamps etc) has changed</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">file_added</a>, <span class="comment">//!&lt; A new file was added</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">file_renamed</a>, <span class="comment">//!&lt; A file was renamed within this tree</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">file_linked</a>, <span class="comment">//!&lt; A hard link to something else also in this tree was added</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">file_removed</a>, <span class="comment">//!&lt; A file was removed</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">directory_added</a>, <span class="comment">//!&lt; A new directory was added</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">directory_renamed</a>, <span class="comment">//!&lt; A directory was renamed within this tree</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">directory_removed</a>, <span class="comment">//!&lt; A directory was removed</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">symlink_added</a>, <span class="comment">//!&lt; A symlink was added</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">symlink_removed</a> <span class="comment">//!&lt; A symlink was removed</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> } changed{change_t::unknown};</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/difference.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9">llfio_v2_xxx::algorithm::difference_item::directory_added</a></div><div class="ttdeci">@ directory_added</div><div class="ttdoc">A new directory was added.</div><div class="ttdef"><b>Definition:</b> difference.hpp:49</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96">llfio_v2_xxx::algorithm::difference_item::file_added</a></div><div class="ttdeci">@ file_added</div><div class="ttdoc">A new file was added.</div><div class="ttdef"><b>Definition:</b> difference.hpp:45</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f">llfio_v2_xxx::algorithm::difference_item::directory_renamed</a></div><div class="ttdeci">@ directory_renamed</div><div class="ttdoc">A directory was renamed within this tree.</div><div class="ttdef"><b>Definition:</b> difference.hpp:50</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9">llfio_v2_xxx::algorithm::difference_item::file_renamed</a></div><div class="ttdeci">@ file_renamed</div><div class="ttdoc">A file was renamed within this tree.</div><div class="ttdef"><b>Definition:</b> difference.hpp:46</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1">llfio_v2_xxx::algorithm::difference_item::noncontent_metadata_changed</a></div><div class="ttdeci">@ noncontent_metadata_changed</div><div class="ttdoc">Non-content metadata (perms, non-modified timestamps etc) has changed.</div><div class="ttdef"><b>Definition:</b> difference.hpp:44</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8">llfio_v2_xxx::algorithm::difference_item::file_removed</a></div><div class="ttdeci">@ file_removed</div><div class="ttdoc">A file was removed.</div><div class="ttdef"><b>Definition:</b> difference.hpp:48</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5">llfio_v2_xxx::algorithm::difference_item::directory_removed</a></div><div class="ttdeci">@ directory_removed</div><div class="ttdoc">A directory was removed.</div><div class="ttdef"><b>Definition:</b> difference.hpp:51</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37">llfio_v2_xxx::algorithm::difference_item::file_linked</a></div><div class="ttdeci">@ file_linked</div><div class="ttdoc">A hard link to something else also in this tree was added.</div><div class="ttdef"><b>Definition:</b> difference.hpp:47</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd">llfio_v2_xxx::algorithm::difference_item::content_metadata_changed</a></div><div class="ttdeci">@ content_metadata_changed</div><div class="ttdoc">Maximum extent or modified timestamp metadata has changed.</div><div class="ttdef"><b>Definition:</b> difference.hpp:43</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575">llfio_v2_xxx::algorithm::difference_item::symlink_added</a></div><div class="ttdeci">@ symlink_added</div><div class="ttdoc">A symlink was added.</div><div class="ttdef"><b>Definition:</b> difference.hpp:52</div></div>
+<div class="ttc" id="astructllfio__v2__xxx_1_1algorithm_1_1difference__item_html_aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4"><div class="ttname"><a href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4">llfio_v2_xxx::algorithm::difference_item::symlink_removed</a></div><div class="ttdeci">@ symlink_removed</div><div class="ttdoc">A symlink was removed.</div><div class="ttdef"><b>Definition:</b> difference.hpp:53</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1difference__item.html">difference_item</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1difference__item.js b/structllfio__v2__xxx_1_1algorithm_1_1difference__item.js
new file mode 100644
index 00000000..e7853337
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1difference__item.js
@@ -0,0 +1,19 @@
+var structllfio__v2__xxx_1_1algorithm_1_1difference__item =
+[
+ [ "change_t", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95", [
+ [ "unknown", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95adfe03cb8be0de8104977a91efde5fcdd", null ],
+ [ "content_metadata_changed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab5387e75fe0488c466eb754f7338decd", null ],
+ [ "noncontent_metadata_changed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9507cdf61584ce0f5ff15b5db193d0b1", null ],
+ [ "file_added", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a85386f05bc7b48dfba0388cad4603c96", null ],
+ [ "file_renamed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9335ff4ea4863e91a302f99d1c6200f9", null ],
+ [ "file_linked", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ab9540bdf60e5c2ad28b683edcf2b2c37", null ],
+ [ "file_removed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a8ec5159439f454d310c007eb84d00fc8", null ],
+ [ "directory_added", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95ae2b66949209c74e8f1b6ef219c959ea9", null ],
+ [ "directory_renamed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a1155bb560422fcc3322a8317be88567f", null ],
+ [ "directory_removed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9a47482a9329c68cbdffe361a9acbdf5", null ],
+ [ "symlink_added", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a9ed2a03a12b38402b62da58653843575", null ],
+ [ "symlink_removed", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#aa63255f48ab96f35618852c8a7ca1c95a268673f973f6ad2bc7b1042bb5735fb4", null ]
+ ] ],
+ [ "content_comparison", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a49aa5642b313243a6801cdb1d00024aa", null ],
+ [ "unknown", "structllfio__v2__xxx_1_1algorithm_1_1difference__item.html#a10941c642c94f2c22f4a307fdd110fd9", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl-members.html b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl-members.html
index fc5bb101..43c20edb 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl-members.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -160,7 +162,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1i
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html
index 0ab8e33e..d5dfb61a 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -371,7 +373,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stru
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">impl</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html">trivial_vector_impl</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.js b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.js
index 9e39e3d5..865cef56 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.js
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.js
@@ -18,37 +18,37 @@ var structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl =
[ "trivial_vector_impl", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950", null ],
[ "trivial_vector_impl", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772", null ],
[ "~trivial_vector_impl", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a514fc4032a8866f1273b3fc52e779c8b", null ],
- [ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b", null ],
+ [ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833", null ],
[ "at", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b", null ],
[ "at", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f", null ],
[ "back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141", null ],
[ "back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f", null ],
- [ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c", null ],
+ [ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "capacity", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a02dca783d6e23e7be0b8df620b480175", null ],
[ "cbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53", null ],
[ "cend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101", null ],
[ "clear", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c", null ],
[ "crbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285", null ],
[ "crend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa98cbde51743fcb7d700a29cae27587b", null ],
- [ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a58741241cb681e797af0862a0571d149", null ],
+ [ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "emplace", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3e63c1cb08d63bb46ea73cbbae5adb07", null ],
[ "emplace_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0d2381f6d62cb1e12970907992d5df9b", null ],
[ "empty", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaa0a88fe91d9fe0248e114cb7fb487e9", null ],
- [ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a333d0e231d0b620c0bba5daea857897d", null ],
- [ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
+ [ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9a2918df04a065f07959875c9839af23", null ],
+ [ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
[ "front", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae", null ],
[ "front", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fc85e32b4db9b8d683ba47e9de4179b", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046", null ],
- [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c", null ],
- [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905", null ],
+ [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb", null ],
+ [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c", null ],
[ "max_size", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e", null ],
[ "operator=", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316", null ],
[ "operator=", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4907dcc4c5aa4cf8fc328056584be729", null ],
@@ -57,10 +57,10 @@ var structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl =
[ "pop_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb", null ],
[ "push_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a", null ],
[ "push_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af", null ],
- [ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471", null ],
- [ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
+ [ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f", null ],
+ [ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
[ "reserve", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644", null ],
[ "resize", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31", null ],
[ "shrink_to_fit", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e", null ],
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4-members.html b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4-members.html
index 8ceb9405..25794d62 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4-members.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -162,7 +164,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1i
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html
index 50858ed1..8188d5c4 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,8 +98,8 @@ Inheritance diagram for llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; t
<map id="llfio_5Fv2_5Fxxx::algorithm::impl::trivial_5Fvector_5Fimpl_3C_20true_2C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::algorithm::impl::trivial_5Fvector_5Fimpl_3C_20true_2C_20T_20_3E_map">
<area href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html" alt="llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; false, T &gt;" shape="rect" coords="0,0,339,24"/>
<area href="classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html" title="Provides a constant time capacity expanding move-only STL vector. Requires T to be trivially copyable..." alt="llfio_v2_xxx::algorithm::trivial_vector&lt; T &gt;" shape="rect" coords="0,112,339,136"/>
-</map>
- </div></div>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -352,7 +354,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stru
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html">impl</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html">trivial_vector_impl&lt; true, T &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.js b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.js
index 9ada3f46..056342aa 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.js
+++ b/structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.js
@@ -13,50 +13,50 @@ var structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_
[ "value_type", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a", null ],
[ "trivial_vector_impl", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0846ca0495305ef9bbf8177c3f05998b", null ],
[ "trivial_vector_impl", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e", null ],
- [ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa9a12b102e96f3f5e1cc24a71fbf480b", null ],
+ [ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238", null ],
[ "assign", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae539f1d862f516854859e22adad5e833", null ],
[ "at", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0079ec33d245c84ee66b20e88866035b", null ],
[ "at", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7e43886636755ba657a9fb5fce4d1c2f", null ],
[ "back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b3f69d7e670bf45727baa9e9ed30141", null ],
[ "back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aba4b731aa0cd0d654976d34d5c10388f", null ],
- [ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ad71fa0eddf798fb096dfdaf25af4168c", null ],
+ [ "begin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102", null ],
[ "capacity", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a02dca783d6e23e7be0b8df620b480175", null ],
[ "cbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3392be9db54104020b23c2792c63fa53", null ],
[ "cend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaf7c20ce48122ee281fffa106e411101", null ],
[ "clear", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7905509edbdc5e9e9819ffb3f31d6d5c", null ],
[ "crbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3feb4c15c7805fd403138d677953b285", null ],
[ "crend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa98cbde51743fcb7d700a29cae27587b", null ],
- [ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a58741241cb681e797af0862a0571d149", null ],
+ [ "data", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f", null ],
[ "emplace", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3e63c1cb08d63bb46ea73cbbae5adb07", null ],
[ "emplace_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0d2381f6d62cb1e12970907992d5df9b", null ],
[ "empty", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaa0a88fe91d9fe0248e114cb7fb487e9", null ],
- [ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a333d0e231d0b620c0bba5daea857897d", null ],
- [ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
+ [ "end", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0", null ],
[ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9a2918df04a065f07959875c9839af23", null ],
+ [ "erase", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971", null ],
[ "front", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afd59aa55d1e9bc3a9942f13b964badae", null ],
[ "front", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fc85e32b4db9b8d683ba47e9de4179b", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9ce5b87e963aa7a8f968ed23adcd2046", null ],
- [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c", null ],
- [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#af7813ac4dde322154b5ca70e06494905", null ],
+ [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70", null ],
[ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf08fa605a2613a539930c65a51511bb", null ],
+ [ "insert", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c", null ],
[ "max_size", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a90fee73d85b733951eab9c2f505f030e", null ],
[ "operator[]", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a01a933a3116abd41955118b607b47bfd", null ],
[ "operator[]", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5", null ],
[ "pop_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a744356e0eff2be54460ce02b7397acfb", null ],
[ "push_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf9cba939e2bd11a63eaffafb247163a", null ],
[ "push_back", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b56f458ea957c41ca33e37cd52a28af", null ],
- [ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471", null ],
- [ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
+ [ "rbegin", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e", null ],
[ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8e9caa72b31819407ee9aaa1e6b21b0f", null ],
+ [ "rend", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5", null ],
[ "reserve", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a16de143c40c148e26633f4d8ee101644", null ],
- [ "resize", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31", null ],
[ "resize", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f", null ],
+ [ "resize", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31", null ],
[ "shrink_to_fit", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a19aa2b2535f9880a41f64fb43162ec9e", null ],
[ "size", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a84a6bbb08480b7803a49e203b7501fa0", null ],
[ "swap", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fb1e66f29e8d90eec09316946d3d4f0", null ]
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor-members.html b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor-members.html
new file mode 100644
index 00000000..9af824a0
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::reduce_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>begin</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">directory_open_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, path_view leaf, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a>(void *data, result&lt; size_t &gt; result) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082">post_enumeration</a>(void *data, const directory_handle &amp;dirh, directory_handle::buffers_type &amp;contents, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a>(void *data, const directory_handle &amp;dirh, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0">reduce_visitor</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb">reduce_visitor</a>(std::chrono::steady_clock::duration _timeout)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85">reduction_round</a>(void *data, size_t round_completed, size_t items_unlinked, size_t items_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab">rename_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, directory_entry &amp;entry, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a>(void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>timeout</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe">unlink_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, directory_entry &amp;entry, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">llfio_v2_xxx::algorithm::reduce_visitor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~traverse_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html
new file mode 100644
index 00000000..ac37248d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html
@@ -0,0 +1,492 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::reduce_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::reduce_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A visitor for the filesystem traversal and reduction algorithm.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;reduce.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::reduce_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::reduce_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::algorithm::reduce_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::algorithm::reduce_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" title="A visitor for the filesystem traversal algorithm." alt="llfio_v2_xxx::algorithm::traverse_visitor" shape="rect" coords="0,0,229,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aca5eeb159cb64925ae644a6fb34ab0a0"><td class="memItemLeft" align="right" valign="top"><a id="aca5eeb159cb64925ae644a6fb34ab0a0"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0">reduce_visitor</a> ()</td></tr>
+<tr class="memdesc:aca5eeb159cb64925ae644a6fb34ab0a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an instance with the default timeout of ten seconds. <br /></td></tr>
+<tr class="separator:aca5eeb159cb64925ae644a6fb34ab0a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a181bedf95028307f54eb5414c3566edb"><td class="memItemLeft" align="right" valign="top"><a id="a181bedf95028307f54eb5414c3566edb"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb">reduce_visitor</a> (std::chrono::steady_clock::duration _timeout)</td></tr>
+<tr class="memdesc:a181bedf95028307f54eb5414c3566edb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an instance with the specified timeout. <br /></td></tr>
+<tr class="separator:a181bedf95028307f54eb5414c3566edb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5af71cbf83dd3c499898f03405a5e698"><td class="memItemLeft" align="right" valign="top"><a id="a5af71cbf83dd3c499898f03405a5e698"></a>
+virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">directory_open_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> leaf, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:a5af71cbf83dd3c499898f03405a5e698"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override ignores failures to traverse into the directory, and tries renaming the item into the base directory. <br /></td></tr>
+<tr class="separator:a5af71cbf83dd3c499898f03405a5e698"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25405bfa34b4e6d4f2f47babf518f082"><td class="memItemLeft" align="right" valign="top"><a id="a25405bfa34b4e6d4f2f47babf518f082"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082">post_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a>, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:a25405bfa34b4e6d4f2f47babf518f082"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override invokes deletion of all non-directory items. If there are no directory items, also deletes the directory. <br /></td></tr>
+<tr class="separator:a25405bfa34b4e6d4f2f47babf518f082"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad06e9b146c1e28b3087493c203e1bcfe"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe">unlink_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> &amp;entry, size_t depth) noexcept</td></tr>
+<tr class="memdesc:ad06e9b146c1e28b3087493c203e1bcfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the unlink of a file entry failed. The default implementation attempts to rename the entry into the base directory. If your reimplementation achieves the unlink, return true. <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe">More...</a><br /></td></tr>
+<tr class="separator:ad06e9b146c1e28b3087493c203e1bcfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a367c4e8ca57503764ca45929bbeeab"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab">rename_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> &amp;entry, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a7a367c4e8ca57503764ca45929bbeeab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the rename of a file entry into the base directory failed. The default implementation ignores the failure. If your reimplementation achieves the rename, return true. <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab">More...</a><br /></td></tr>
+<tr class="separator:a7a367c4e8ca57503764ca45929bbeeab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16b342d3c85e95c2c7da9b14d00c8a85"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85">reduction_round</a> (void *data, size_t round_completed, size_t items_unlinked, size_t items_remaining) noexcept</td></tr>
+<tr class="memdesc:a16b342d3c85e95c2c7da9b14d00c8a85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when we have performed a single full round of reduction. <a href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85">More...</a><br /></td></tr>
+<tr class="separator:a16b342d3c85e95c2c7da9b14d00c8a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3c4b226532089d121dc3d96ed88b39"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a4d3c4b226532089d121dc3d96ed88b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to decide whether to enumerate a directory. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">More...</a><br /></td></tr>
+<tr class="separator:a4d3c4b226532089d121dc3d96ed88b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a> (void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td></tr>
+<tr class="memdesc:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">More...</a><br /></td></tr>
+<tr class="separator:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac188f8691259ec970aeff79b47a5685b"><td class="memItemLeft" align="right" valign="top"><a id="ac188f8691259ec970aeff79b47a5685b"></a>
+virtual result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a> (void *data, result&lt; size_t &gt; result) noexcept</td></tr>
+<tr class="memdesc:ac188f8691259ec970aeff79b47a5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a traversal finishes, whether due to success or failure. Always called from the original thread. <br /></td></tr>
+<tr class="separator:ac188f8691259ec970aeff79b47a5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:adc136a120018610a6a2f1da1a0a0b1ff"><td class="memItemLeft" align="right" valign="top"><a id="adc136a120018610a6a2f1da1a0a0b1ff"></a>
+std::chrono::steady_clock::duration&#160;</td><td class="memItemRight" valign="bottom"><b>timeout</b> {std::chrono::seconds(10)}</td></tr>
+<tr class="separator:adc136a120018610a6a2f1da1a0a0b1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2880b90fe5915ceafa87c9b6b934abd9"><td class="memItemLeft" align="right" valign="top"><a id="a2880b90fe5915ceafa87c9b6b934abd9"></a>
+std::chrono::steady_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b></td></tr>
+<tr class="separator:a2880b90fe5915ceafa87c9b6b934abd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A visitor for the filesystem traversal and reduction algorithm. </p>
+<p>Note that at any time, returning a failure causes <code>reduce()</code> to exit as soon as possible with the same failure.</p>
+<p>You can override the members here inherited from <code>traverse_visitor</code>, however note that <code>reduce()</code> is entirely implemented using <code>traverse()</code>, so not calling the implementations here will affect operation. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a4d3c4b226532089d121dc3d96ed88b39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d3c4b226532089d121dc3d96ed88b39">&#9670;&nbsp;</a></span>pre_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::traverse_visitor::pre_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called to decide whether to enumerate a directory. </p>
+<p>Note that it is more efficient to ignore the directory entry in <code>post_enumeration()</code> than to ignore it here, as a handle is opened for the directory before this callback. Equally, if you need that handle to inspect the directory e.g. to check if one is entering a different filesystem from the root, here is best.</p>
+<p>The default returns <code>true</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; (void) data;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a16b342d3c85e95c2c7da9b14d00c8a85"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16b342d3c85e95c2c7da9b14d00c8a85">&#9670;&nbsp;</a></span>reduction_round()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::reduce_visitor::reduction_round </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>round_completed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>items_unlinked</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>items_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called when we have performed a single full round of reduction. </p>
+<dl class="section note"><dt>Note</dt><dd>Always called from the original kernel thread. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; (void) data;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; (void) round_completed;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; (void) items_unlinked;</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span>(items_remaining &gt; 0)</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(begin == std::chrono::steady_clock::time_point())</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; begin = std::chrono::steady_clock::now();</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>((std::chrono::steady_clock::now() - begin) &gt; timeout)</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> errc::timed_out;</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a7a367c4e8ca57503764ca45929bbeeab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7a367c4e8ca57503764ca45929bbeeab">&#9670;&nbsp;</a></span>rename_failed()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::reduce_visitor::rename_failed </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">result&lt; void &gt;::error_type &amp;&amp;&#160;</td>
+ <td class="paramname"><em>error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> &amp;&#160;</td>
+ <td class="paramname"><em>entry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called when the rename of a file entry into the base directory failed. The default implementation ignores the failure. If your reimplementation achieves the rename, return true. </p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; (void) data;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; (void) error;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; (void) entry;</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a44e3a5ace0aa50d8f6f836c48e510c54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e3a5ace0aa50d8f6f836c48e510c54">&#9670;&nbsp;</a></span>stack_updated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::stack_updated </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dirs_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_dirs_remaining</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_depth_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dirs_processed</td><td>The total number of directories traversed so far. </td></tr>
+ <tr><td class="paramname">known_dirs_remaining</td><td>The currently known number of directories awaiting traversal. </td></tr>
+ <tr><td class="paramname">depth_processed</td><td>How many levels deep we have already completely traversed. </td></tr>
+ <tr><td class="paramname">known_depth_remaining</td><td>The currently known number of levels we shall traverse.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (void) data;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (void) dirs_processed;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (void) known_dirs_remaining;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; (void) depth_processed;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; (void) known_depth_remaining;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ad06e9b146c1e28b3087493c203e1bcfe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad06e9b146c1e28b3087493c203e1bcfe">&#9670;&nbsp;</a></span>unlink_failed()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::reduce_visitor::unlink_failed </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">result&lt; void &gt;::error_type &amp;&amp;&#160;</td>
+ <td class="paramname"><em>error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> &amp;&#160;</td>
+ <td class="paramname"><em>entry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called when the unlink of a file entry failed. The default implementation attempts to rename the entry into the base directory. If your reimplementation achieves the unlink, return true. </p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="reduce_8hpp.html">reduce.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html">reduce_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.js b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.js
new file mode 100644
index 00000000..c6e4e5c7
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.js
@@ -0,0 +1,15 @@
+var structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor =
+[
+ [ "reduce_visitor", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#aca5eeb159cb64925ae644a6fb34ab0a0", null ],
+ [ "reduce_visitor", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a181bedf95028307f54eb5414c3566edb", null ],
+ [ "directory_open_failed", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698", null ],
+ [ "finished", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ac188f8691259ec970aeff79b47a5685b", null ],
+ [ "post_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082", null ],
+ [ "pre_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a4d3c4b226532089d121dc3d96ed88b39", null ],
+ [ "reduction_round", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a16b342d3c85e95c2c7da9b14d00c8a85", null ],
+ [ "rename_failed", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a7a367c4e8ca57503764ca45929bbeeab", null ],
+ [ "stack_updated", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54", null ],
+ [ "unlink_failed", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#ad06e9b146c1e28b3087493c203e1bcfe", null ],
+ [ "begin", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a2880b90fe5915ceafa87c9b6b934abd9", null ],
+ [ "timeout", "structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#adc136a120018610a6a2f1da1a0a0b1ff", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.png b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.png
new file mode 100644
index 00000000..ed4f3efc
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx-members.html b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx-members.html
index 0c3d0a8f..fecd8daa 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx-members.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1s
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html
index d55aaa6c..8ca67dad 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;::_entity_idx Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -108,7 +110,7 @@ unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>exclusive</b>: 1<
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">memory_map</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html">_entity_idx</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type-members.html b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type-members.html
index 2ef7f735..b0984cd2 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type-members.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -100,7 +102,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1s
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html
index 838c5680..f344e482 100644
--- a/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html
+++ b/structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -115,25 +117,25 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:acd7e1dc4d2921703f21bb7408e2367c5"><td class="memItemLeft" ><a id="acd7e1dc4d2921703f21bb7408e2367c5"></a>
+<tr class="memitem:a96a47c2eef3299ee8a60e8bdae9b914e"><td class="memItemLeft" ><a id="a96a47c2eef3299ee8a60e8bdae9b914e"></a>
union {</td></tr>
-<tr class="memitem:ad59794e58bda98c953f67d46411d6d4f"><td class="memItemLeft" >
+<tr class="memitem:a7d27647ba1c580cc02fb2f036fe56207"><td class="memItemLeft" >
&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81">value_type</a>&#160;&#160;&#160;<b>_init</b></td></tr>
-<tr class="separator:ad59794e58bda98c953f67d46411d6d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a640dbdadbf491ce9376b877ec2fbd402"><td class="memItemLeft" ><a id="a640dbdadbf491ce9376b877ec2fbd402"></a>
+<tr class="separator:a7d27647ba1c580cc02fb2f036fe56207"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a334a8dd330e8370fb3824ce79cf4e6d9"><td class="memItemLeft" ><a id="a334a8dd330e8370fb3824ce79cf4e6d9"></a>
&#160;&#160;&#160;struct {</td></tr>
-<tr class="memitem:a4a84974d7fd9ac1ea68162fdbd960b20"><td class="memItemLeft" >
+<tr class="memitem:abc6df23b2711c4c580984211f1859eda"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81">value_type</a>&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6">value</a>: 63</td></tr>
-<tr class="memdesc:a4a84974d7fd9ac1ea68162fdbd960b20"><td class="mdescLeft">&#160;</td><td class="mdescRight">The value of the entity type which can range between 0 and (2^63)-1. <br /></td></tr>
-<tr class="separator:a4a84974d7fd9ac1ea68162fdbd960b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97d6235c2889cfea5a72bf11faf667a5"><td class="memItemLeft" >
+<tr class="memdesc:abc6df23b2711c4c580984211f1859eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">The value of the entity type which can range between 0 and (2^63)-1. <br /></td></tr>
+<tr class="separator:abc6df23b2711c4c580984211f1859eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd7b5429001a7b7954aea36a8f8a61ec"><td class="memItemLeft" >
&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81">value_type</a>&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716">exclusive</a>: 1</td></tr>
-<tr class="memdesc:a97d6235c2889cfea5a72bf11faf667a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if entity should be locked for exclusive access. <br /></td></tr>
-<tr class="separator:a97d6235c2889cfea5a72bf11faf667a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a640dbdadbf491ce9376b877ec2fbd402"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:a640dbdadbf491ce9376b877ec2fbd402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acd7e1dc4d2921703f21bb7408e2367c5"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="separator:acd7e1dc4d2921703f21bb7408e2367c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memdesc:abd7b5429001a7b7954aea36a8f8a61ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if entity should be locked for exclusive access. <br /></td></tr>
+<tr class="separator:abd7b5429001a7b7954aea36a8f8a61ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a334a8dd330e8370fb3824ce79cf4e6d9"><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a334a8dd330e8370fb3824ce79cf4e6d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96a47c2eef3299ee8a60e8bdae9b914e"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a96a47c2eef3299ee8a60e8bdae9b914e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The type of an entity id. </p>
@@ -148,7 +150,7 @@ union {</td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html">shared_fs_mutex</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html">entity_type</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor-members.html b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor-members.html
new file mode 100644
index 00000000..8bc75eff
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::summarize_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>accumulate</b>(traversal_summary &amp;acc, traversal_summary *state, const directory_handle *dirh, directory_entry &amp;entry, stat_t::want already_have_metadata) (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">directory_open_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, path_view leaf, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a>(void *data, result&lt; size_t &gt; result) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05">post_enumeration</a>(void *data, const directory_handle &amp;dirh, directory_handle::buffers_type &amp;contents, size_t depth) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a>(void *data, const directory_handle &amp;dirh, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a>(void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~traverse_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html
new file mode 100644
index 00000000..6511bbfa
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::summarize_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::summarize_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A visitor for the filesystem traversal and summary algorithm.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;summarize.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::summarize_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::summarize_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::algorithm::summarize_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::algorithm::summarize_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html" title="A visitor for the filesystem traversal algorithm." alt="llfio_v2_xxx::algorithm::traverse_visitor" shape="rect" coords="0,0,241,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2d6b2c113d9c3fad2318e9d0e5f83c13"><td class="memItemLeft" align="right" valign="top"><a id="a2d6b2c113d9c3fad2318e9d0e5f83c13"></a>
+virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">directory_open_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> leaf, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:a2d6b2c113d9c3fad2318e9d0e5f83c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override ignores failures to traverse into the directory. <br /></td></tr>
+<tr class="separator:a2d6b2c113d9c3fad2318e9d0e5f83c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35fefdd810e1ce57734832a22916ca05"><td class="memItemLeft" align="right" valign="top"><a id="a35fefdd810e1ce57734832a22916ca05"></a>
+virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05">post_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a>, size_t depth) noexcept override</td></tr>
+<tr class="memdesc:a35fefdd810e1ce57734832a22916ca05"><td class="mdescLeft">&#160;</td><td class="mdescRight">This override implements the summary. <br /></td></tr>
+<tr class="separator:a35fefdd810e1ce57734832a22916ca05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3c4b226532089d121dc3d96ed88b39"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a4d3c4b226532089d121dc3d96ed88b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to decide whether to enumerate a directory. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">More...</a><br /></td></tr>
+<tr class="separator:a4d3c4b226532089d121dc3d96ed88b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a> (void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td></tr>
+<tr class="memdesc:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">More...</a><br /></td></tr>
+<tr class="separator:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac188f8691259ec970aeff79b47a5685b"><td class="memItemLeft" align="right" valign="top"><a id="ac188f8691259ec970aeff79b47a5685b"></a>
+virtual result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a> (void *data, result&lt; size_t &gt; result) noexcept</td></tr>
+<tr class="memdesc:ac188f8691259ec970aeff79b47a5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a traversal finishes, whether due to success or failure. Always called from the original thread. <br /></td></tr>
+<tr class="separator:ac188f8691259ec970aeff79b47a5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae809b157a45e28f55e678c13ab298ff9"><td class="memItemLeft" align="right" valign="top"><a id="ae809b157a45e28f55e678c13ab298ff9"></a>
+static result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>accumulate</b> (<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> &amp;acc, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> *state, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> *dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a> &amp;entry, stat_t::want already_have_metadata)</td></tr>
+<tr class="separator:ae809b157a45e28f55e678c13ab298ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A visitor for the filesystem traversal and summary algorithm. </p>
+<p>Note that at any time, returning a failure causes <code>summarize()</code> to exit as soon as possible with the same failure.</p>
+<p>You can override the members here inherited from <code>traverse_visitor</code>, however note that <code>summarize()</code> is entirely implemented using <code>traverse()</code>, so not calling the implementations here will affect operation. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a4d3c4b226532089d121dc3d96ed88b39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d3c4b226532089d121dc3d96ed88b39">&#9670;&nbsp;</a></span>pre_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::traverse_visitor::pre_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called to decide whether to enumerate a directory. </p>
+<p>Note that it is more efficient to ignore the directory entry in <code>post_enumeration()</code> than to ignore it here, as a handle is opened for the directory before this callback. Equally, if you need that handle to inspect the directory e.g. to check if one is entering a different filesystem from the root, here is best.</p>
+<p>The default returns <code>true</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; (void) data;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a44e3a5ace0aa50d8f6f836c48e510c54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e3a5ace0aa50d8f6f836c48e510c54">&#9670;&nbsp;</a></span>stack_updated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::stack_updated </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dirs_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_dirs_remaining</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_depth_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dirs_processed</td><td>The total number of directories traversed so far. </td></tr>
+ <tr><td class="paramname">known_dirs_remaining</td><td>The currently known number of directories awaiting traversal. </td></tr>
+ <tr><td class="paramname">depth_processed</td><td>How many levels deep we have already completely traversed. </td></tr>
+ <tr><td class="paramname">known_depth_remaining</td><td>The currently known number of levels we shall traverse.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (void) data;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (void) dirs_processed;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (void) known_dirs_remaining;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; (void) depth_processed;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; (void) known_depth_remaining;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="summarize_8hpp.html">summarize.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">summarize_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.js b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.js
new file mode 100644
index 00000000..2cb11176
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.js
@@ -0,0 +1,8 @@
+var structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor =
+[
+ [ "directory_open_failed", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13", null ],
+ [ "finished", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#ac188f8691259ec970aeff79b47a5685b", null ],
+ [ "post_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05", null ],
+ [ "pre_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a4d3c4b226532089d121dc3d96ed88b39", null ],
+ [ "stack_updated", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.png b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.png
new file mode 100644
index 00000000..9b3dc0ef
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary-members.html b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary-members.html
new file mode 100644
index 00000000..b99b7a2a
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::traversal_summary Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_lock</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7">allocated</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">default_metadata</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7">devs</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006">directory_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17">directory_opens_failed</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69">file_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>map_type</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656">max_depth</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b">operator+=</a>(const traversal_summary &amp;o)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9">size</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7">types</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28">want</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html
new file mode 100644
index 00000000..362af8d8
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::traversal_summary Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::traversal_summary Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A summary of a directory tree.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#details">More...</a></p>
+
+<p><code>#include &quot;summarize.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab4258d77fcc2f077260d06fdb0110e59"><td class="memTemplParams" colspan="2"><a id="ab4258d77fcc2f077260d06fdb0110e59"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:ab4258d77fcc2f077260d06fdb0110e59"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>map_type</b> = std::unordered_map&lt; T, size_t &gt;</td></tr>
+<tr class="separator:ab4258d77fcc2f077260d06fdb0110e59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a388749e9ec590deede8f91f7827d632b"><td class="memItemLeft" align="right" valign="top"><a id="a388749e9ec590deede8f91f7827d632b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b">operator+=</a> (const <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a> &amp;o)</td></tr>
+<tr class="memdesc:a388749e9ec590deede8f91f7827d632b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds another summary to this. <br /></td></tr>
+<tr class="separator:a388749e9ec590deede8f91f7827d632b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a8904eee9435edf3562642294046c634e"><td class="memItemLeft" align="right" valign="top"><a id="a8904eee9435edf3562642294046c634e"></a>
+static constexpr stat_t::want&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a8904eee9435edf3562642294046c634e">default_metadata</a> ()</td></tr>
+<tr class="memdesc:a8904eee9435edf3562642294046c634e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default metadata summarised. <br /></td></tr>
+<tr class="separator:a8904eee9435edf3562642294046c634e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:acbf29cd42621edbff393a0ab84eb1753"><td class="memItemLeft" align="right" valign="top"><a id="acbf29cd42621edbff393a0ab84eb1753"></a>
+spinlock&#160;</td><td class="memItemRight" valign="bottom"><b>_lock</b></td></tr>
+<tr class="separator:acbf29cd42621edbff393a0ab84eb1753"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73983721459dd16b1cf86ad5d0465f17"><td class="memItemLeft" align="right" valign="top"><a id="a73983721459dd16b1cf86ad5d0465f17"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17">directory_opens_failed</a> {0}</td></tr>
+<tr class="memdesc:a73983721459dd16b1cf86ad5d0465f17"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of directories which could not be opened. <br /></td></tr>
+<tr class="separator:a73983721459dd16b1cf86ad5d0465f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a99a9a1846577f6925479671480bd28"><td class="memItemLeft" align="right" valign="top"><a id="a0a99a9a1846577f6925479671480bd28"></a>
+stat_t::want&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28">want</a> {stat_t::want::none}</td></tr>
+<tr class="memdesc:a0a99a9a1846577f6925479671480bd28"><td class="mdescLeft">&#160;</td><td class="mdescRight">The summary items desired. <br /></td></tr>
+<tr class="separator:a0a99a9a1846577f6925479671480bd28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87a9c093f4545e1e3a9aa056f7e888c7"><td class="memItemLeft" align="right" valign="top"><a id="a87a9c093f4545e1e3a9aa056f7e888c7"></a>
+map_type&lt; uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7">devs</a></td></tr>
+<tr class="memdesc:a87a9c093f4545e1e3a9aa056f7e888c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of items with the given device id. <br /></td></tr>
+<tr class="separator:a87a9c093f4545e1e3a9aa056f7e888c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51f79229a629006e28869656111d97e7"><td class="memItemLeft" align="right" valign="top"><a id="a51f79229a629006e28869656111d97e7"></a>
+map_type&lt; filesystem::file_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7">types</a></td></tr>
+<tr class="memdesc:a51f79229a629006e28869656111d97e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of items with the given type. <br /></td></tr>
+<tr class="separator:a51f79229a629006e28869656111d97e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd22fa87036c07f28e92469b970878a9"><td class="memItemLeft" align="right" valign="top"><a id="abd22fa87036c07f28e92469b970878a9"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9">size</a> {0}</td></tr>
+<tr class="memdesc:abd22fa87036c07f28e92469b970878a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sum of maximum extents. On Windows, is for file content only. <br /></td></tr>
+<tr class="separator:abd22fa87036c07f28e92469b970878a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0533251c886dd5a8e8ec46a9a7367c7"><td class="memItemLeft" align="right" valign="top"><a id="ae0533251c886dd5a8e8ec46a9a7367c7"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7">allocated</a> {0}</td></tr>
+<tr class="memdesc:ae0533251c886dd5a8e8ec46a9a7367c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sum of allocated extents. On Windows, is for file content only. <br /></td></tr>
+<tr class="separator:ae0533251c886dd5a8e8ec46a9a7367c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15caca304347aea4271f9ff6df759c69"><td class="memItemLeft" align="right" valign="top"><a id="a15caca304347aea4271f9ff6df759c69"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69">file_blocks</a> {0}</td></tr>
+<tr class="memdesc:a15caca304347aea4271f9ff6df759c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sum of file allocated blocks. <br /></td></tr>
+<tr class="separator:a15caca304347aea4271f9ff6df759c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ba41ce2ef1ecb93e764d7a60ad9a006"><td class="memItemLeft" align="right" valign="top"><a id="a7ba41ce2ef1ecb93e764d7a60ad9a006"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006">directory_blocks</a> {0}</td></tr>
+<tr class="memdesc:a7ba41ce2ef1ecb93e764d7a60ad9a006"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sum of directory allocated blocks. <br /></td></tr>
+<tr class="separator:a7ba41ce2ef1ecb93e764d7a60ad9a006"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5862be5cc4b78861999aa69a78b9656"><td class="memItemLeft" align="right" valign="top"><a id="ad5862be5cc4b78861999aa69a78b9656"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656">max_depth</a> {0}</td></tr>
+<tr class="memdesc:ad5862be5cc4b78861999aa69a78b9656"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum depth of the hierarchy. <br /></td></tr>
+<tr class="separator:ad5862be5cc4b78861999aa69a78b9656"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A summary of a directory tree. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="summarize_8hpp.html">summarize.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">traversal_summary</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.js b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.js
new file mode 100644
index 00000000..eb2e8d67
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.js
@@ -0,0 +1,15 @@
+var structllfio__v2__xxx_1_1algorithm_1_1traversal__summary =
+[
+ [ "map_type", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ab4258d77fcc2f077260d06fdb0110e59", null ],
+ [ "operator+=", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a388749e9ec590deede8f91f7827d632b", null ],
+ [ "_lock", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#acbf29cd42621edbff393a0ab84eb1753", null ],
+ [ "allocated", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ae0533251c886dd5a8e8ec46a9a7367c7", null ],
+ [ "devs", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a87a9c093f4545e1e3a9aa056f7e888c7", null ],
+ [ "directory_blocks", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a7ba41ce2ef1ecb93e764d7a60ad9a006", null ],
+ [ "directory_opens_failed", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a73983721459dd16b1cf86ad5d0465f17", null ],
+ [ "file_blocks", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a15caca304347aea4271f9ff6df759c69", null ],
+ [ "max_depth", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#ad5862be5cc4b78861999aa69a78b9656", null ],
+ [ "size", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#abd22fa87036c07f28e92469b970878a9", null ],
+ [ "types", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a51f79229a629006e28869656111d97e7", null ],
+ [ "want", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#a0a99a9a1846577f6925479671480bd28", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor-members.html b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor-members.html
new file mode 100644
index 00000000..4b21fa1e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::traverse_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">directory_open_failed</a>(void *data, result&lt; void &gt;::error_type &amp;&amp;error, const directory_handle &amp;dirh, path_view leaf, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a>(void *data, result&lt; size_t &gt; result) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937">post_enumeration</a>(void *data, const directory_handle &amp;dirh, directory_handle::buffers_type &amp;contents, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a>(void *data, const directory_handle &amp;dirh, size_t depth) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a>(void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~traverse_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html
new file mode 100644
index 00000000..4000cd30
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html
@@ -0,0 +1,402 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::algorithm::traverse_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::algorithm::traverse_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A visitor for the filesystem traversal algorithm.
+ <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;traverse.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::algorithm::traverse_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.png" usemap="#llfio_5Fv2_5Fxxx::algorithm::traverse_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::algorithm::traverse_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::algorithm::traverse_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html" title="A visitor for the filesystem traversal and comparison algorithm." alt="llfio_v2_xxx::algorithm::compare_visitor" shape="rect" coords="0,56,241,80"/>
+<area href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html" title="A visitor for the filesystem contents algorithm." alt="llfio_v2_xxx::algorithm::contents_visitor" shape="rect" coords="251,56,492,80"/>
+<area href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html" title="A visitor for the filesystem traversal and reduction algorithm." alt="llfio_v2_xxx::algorithm::reduce_visitor" shape="rect" coords="502,56,743,80"/>
+<area href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html" title="A visitor for the filesystem traversal and summary algorithm." alt="llfio_v2_xxx::algorithm::summarize_visitor" shape="rect" coords="753,56,994,80"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a649d2496caac9dd869eb0ab2e135a0a2"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">directory_open_failed</a> (void *data, result&lt; void &gt;::error_type &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1error.html">error</a>, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> leaf, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a649d2496caac9dd869eb0ab2e135a0a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when we failed to open a directory for enumeration. The default fails the traversal with that error. Return a default constructed instance to ignore the failure. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2">More...</a><br /></td></tr>
+<tr class="separator:a649d2496caac9dd869eb0ab2e135a0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3c4b226532089d121dc3d96ed88b39"><td class="memItemLeft" align="right" valign="top">virtual result&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">pre_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, size_t depth) noexcept</td></tr>
+<tr class="memdesc:a4d3c4b226532089d121dc3d96ed88b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to decide whether to enumerate a directory. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39">More...</a><br /></td></tr>
+<tr class="separator:a4d3c4b226532089d121dc3d96ed88b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcbfbc5dec3d2ab556937a11bdd96937"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937">post_enumeration</a> (void *data, const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;dirh, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;<a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a>, size_t depth) noexcept</td></tr>
+<tr class="memdesc:adcbfbc5dec3d2ab556937a11bdd96937"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called just after each directory enumeration. You can modify the results to affect the traversal, typically you would set the stat to default constructed to cause it to be ignored. You are guaranteed that at least <code>stat.st_type</code> is valid for every entry in <code>contents</code>, and items whose type is a directory will be enqueued after this call for later traversal. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937">More...</a><br /></td></tr>
+<tr class="separator:adcbfbc5dec3d2ab556937a11bdd96937"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memItemLeft" align="right" valign="top">virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">stack_updated</a> (void *data, size_t dirs_processed, size_t known_dirs_remaining, size_t depth_processed, size_t known_depth_remaining) noexcept</td></tr>
+<tr class="memdesc:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54">More...</a><br /></td></tr>
+<tr class="separator:a44e3a5ace0aa50d8f6f836c48e510c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac188f8691259ec970aeff79b47a5685b"><td class="memItemLeft" align="right" valign="top"><a id="ac188f8691259ec970aeff79b47a5685b"></a>
+virtual result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b">finished</a> (void *data, result&lt; size_t &gt; result) noexcept</td></tr>
+<tr class="memdesc:ac188f8691259ec970aeff79b47a5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a traversal finishes, whether due to success or failure. Always called from the original thread. <br /></td></tr>
+<tr class="separator:ac188f8691259ec970aeff79b47a5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A visitor for the filesystem traversal algorithm. </p>
+<p>Note that at any time, returning a failure causes <code>traverse()</code> to exit as soon as possible with the same failure. Depth is how deep into the directory hierarchy we are, with zero being the base path handle being traversed. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a649d2496caac9dd869eb0ab2e135a0a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a649d2496caac9dd869eb0ab2e135a0a2">&#9670;&nbsp;</a></span>directory_open_failed()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a>&gt; llfio_v2_xxx::algorithm::traverse_visitor::directory_open_failed </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">result&lt; void &gt;::error_type &amp;&amp;&#160;</td>
+ <td class="paramname"><em>error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td>
+ <td class="paramname"><em>leaf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called when we failed to open a directory for enumeration. The default fails the traversal with that error. Return a default constructed instance to ignore the failure. </p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a2d6b2c113d9c3fad2318e9d0e5f83c13">llfio_v2_xxx::algorithm::summarize_visitor</a>, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#a7ec4aafb16d931783d190cbd8b9c5f7d">llfio_v2_xxx::algorithm::compare_visitor</a>, and <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a5af71cbf83dd3c499898f03405a5e698">llfio_v2_xxx::algorithm::reduce_visitor</a>.</p>
+<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; (void) data;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; (void) leaf;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> failure(std::move(error));</div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="adcbfbc5dec3d2ab556937a11bdd96937"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcbfbc5dec3d2ab556937a11bdd96937">&#9670;&nbsp;</a></span>post_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::post_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">directory_handle::buffers_type</a> &amp;&#160;</td>
+ <td class="paramname"><em>contents</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called just after each directory enumeration. You can modify the results to affect the traversal, typically you would set the stat to default constructed to cause it to be ignored. You are guaranteed that at least <code>stat.st_type</code> is valid for every entry in <code>contents</code>, and items whose type is a directory will be enqueued after this call for later traversal. </p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+
+<p>Reimplemented in <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#a35fefdd810e1ce57734832a22916ca05">llfio_v2_xxx::algorithm::summarize_visitor</a>, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1compare__visitor.html#acec6f86b0ee269eb534f715b2affc5ae">llfio_v2_xxx::algorithm::compare_visitor</a>, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1reduce__visitor.html#a25405bfa34b4e6d4f2f47babf518f082">llfio_v2_xxx::algorithm::reduce_visitor</a>, and <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1contents__visitor.html#a21e87fbd21296205b34cbf375d34d74d">llfio_v2_xxx::algorithm::contents_visitor</a>.</p>
+<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; (void) data;</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; (void) <a class="code" href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">contents</a>;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a4d3c4b226532089d121dc3d96ed88b39"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d3c4b226532089d121dc3d96ed88b39">&#9670;&nbsp;</a></span>pre_enumeration()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;bool&gt; llfio_v2_xxx::algorithm::traverse_visitor::pre_enumeration </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a> &amp;&#160;</td>
+ <td class="paramname"><em>dirh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called to decide whether to enumerate a directory. </p>
+<p>Note that it is more efficient to ignore the directory entry in <code>post_enumeration()</code> than to ignore it here, as a handle is opened for the directory before this callback. Equally, if you need that handle to inspect the directory e.g. to check if one is entering a different filesystem from the root, here is best.</p>
+<p>The default returns <code>true</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; (void) data;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; (void) dirh;</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (void) depth;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a44e3a5ace0aa50d8f6f836c48e510c54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44e3a5ace0aa50d8f6f836c48e510c54">&#9670;&nbsp;</a></span>stack_updated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual result&lt;void&gt; llfio_v2_xxx::algorithm::traverse_visitor::stack_updated </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>dirs_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_dirs_remaining</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>depth_processed</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>known_depth_remaining</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Called whenever the traversed stack of directory hierarchy is updated. This can act as an estimated progress indicator, or to give an accurate progress indicator by matching it against a previous traversal. \data The third party data pointer passed to <code>traverse()</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">dirs_processed</td><td>The total number of directories traversed so far. </td></tr>
+ <tr><td class="paramname">known_dirs_remaining</td><td>The currently known number of directories awaiting traversal. </td></tr>
+ <tr><td class="paramname">depth_processed</td><td>How many levels deep we have already completely traversed. </td></tr>
+ <tr><td class="paramname">known_depth_remaining</td><td>The currently known number of levels we shall traverse.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>May be called from multiple kernel threads concurrently. </dd></dl>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (void) data;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; (void) dirs_processed;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (void) known_dirs_remaining;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; (void) depth_processed;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; (void) known_depth_remaining;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> success();</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/algorithm/<a class="el" href="traverse_8hpp.html">traverse.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1algorithm_html_afae251fc3bfb7280b47b6135e2f6c7e2"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1algorithm.html#afae251fc3bfb7280b47b6135e2f6c7e2">llfio_v2_xxx::algorithm::contents</a></div><div class="ttdeci">result&lt; contents_visitor::contents_type &gt; contents(const path_handle &amp;dirh, contents_visitor *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</div><div class="ttdoc">Calculate the contents of everything within and under dirh. What is returned is unordered.</div><div class="ttdef"><b>Definition:</b> contents.hpp:223</div></div>
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">algorithm</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">traverse_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.js b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.js
new file mode 100644
index 00000000..2cf5e117
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.js
@@ -0,0 +1,9 @@
+var structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor =
+[
+ [ "~traverse_visitor", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a283a1b1a67923bd4c7568a2733c8c2a2", null ],
+ [ "directory_open_failed", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a649d2496caac9dd869eb0ab2e135a0a2", null ],
+ [ "finished", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#ac188f8691259ec970aeff79b47a5685b", null ],
+ [ "post_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#adcbfbc5dec3d2ab556937a11bdd96937", null ],
+ [ "pre_enumeration", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a4d3c4b226532089d121dc3d96ed88b39", null ],
+ [ "stack_updated", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#a44e3a5ace0aa50d8f6f836c48e510c54", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.png b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.png
new file mode 100644
index 00000000..9f72ae0b
--- /dev/null
+++ b/structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1construct-members.html b/structllfio__v2__xxx_1_1construct-members.html
index b379d898..b9946848 100644
--- a/structllfio__v2__xxx_1_1construct-members.html
+++ b/structllfio__v2__xxx_1_1construct-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct.html
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct.html b/structllfio__v2__xxx_1_1construct.html
index 2e25e979..71f127cb 100644
--- a/structllfio__v2__xxx_1_1construct.html
+++ b/structllfio__v2__xxx_1_1construct.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::construct&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -117,7 +119,7 @@ struct llfio_v2_xxx::construct&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct.html">construct</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4-members.html
index 7ab9bf46..8c1acf36 100644
--- a/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html b/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html
index ed2ac322..e5e7271b 100644
--- a/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,7 +91,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
</div><!--header-->
<div class="contents">
-<p>Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code>
+<p>Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code>
<a href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#details">More...</a></p>
<p><code>#include &quot;cached_parent.hpp&quot;</code></p>
@@ -110,7 +112,7 @@ Public Attributes</h2></td></tr>
<div class="textblock"><h3>template&lt;class T&gt;<br />
struct llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</h3>
-<p>Constructor for <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> </p>
+<p>Constructor for <code>algorithm::::cached_parent_handle_adapter&lt;T&gt;</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/algorithm/handle_adapter/<a class="el" href="cached__parent_8hpp.html">cached_parent.hpp</a></li>
</ul>
@@ -122,7 +124,7 @@ struct llfio_v2_xxx::construct&lt; algorithm::cached_parent_handle_adapter&lt; T
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html">construct&lt; algorithm::cached_parent_handle_adapter&lt; T &gt; &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html
deleted file mode 100644
index 09df472f..00000000
--- a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; async_file_handle &gt; Struct Template Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; async_file_handle &gt; Struct Template Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Constructor for <code>async_file_handle</code>
- <a href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#details">More...</a></p>
-
-<p><code>#include &quot;async_file_handle.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a8a9c7904bb3ea9fd5159d5405695999d"><td class="memItemLeft" align="right" valign="top"><a id="a8a9c7904bb3ea9fd5159d5405695999d"></a>
-result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> () const noexcept</td></tr>
-<tr class="separator:a8a9c7904bb3ea9fd5159d5405695999d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:ac5e33b1e8ea06d184f5b0872513a171d"><td class="memItemLeft" align="right" valign="top"><a id="ac5e33b1e8ea06d184f5b0872513a171d"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>service</b></td></tr>
-<tr class="separator:ac5e33b1e8ea06d184f5b0872513a171d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf70816f4afe6897f6fcfc7b5f49b3c7"><td class="memItemLeft" align="right" valign="top"><a id="adf70816f4afe6897f6fcfc7b5f49b3c7"></a>
-const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>base</b></td></tr>
-<tr class="separator:adf70816f4afe6897f6fcfc7b5f49b3c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1261a9ebd836e8a6d55d4941b16b466c"><td class="memItemLeft" align="right" valign="top"><a id="a1261a9ebd836e8a6d55d4941b16b466c"></a>
-<a class="el" href="classllfio__v2__xxx_1_1path__view.html">async_file_handle::path_view_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_path</b></td></tr>
-<tr class="separator:a1261a9ebd836e8a6d55d4941b16b466c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab2dce4583256d4496dc429b8990cad55"><td class="memItemLeft" align="right" valign="top"><a id="ab2dce4583256d4496dc429b8990cad55"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">async_file_handle::mode::read</a></td></tr>
-<tr class="separator:ab2dce4583256d4496dc429b8990cad55"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae152ee4b35a9e3ac5e7e385b29886103"><td class="memItemLeft" align="right" valign="top"><a id="ae152ee4b35a9e3ac5e7e385b29886103"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">async_file_handle::creation</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">async_file_handle::creation::open_existing</a></td></tr>
-<tr class="separator:ae152ee4b35a9e3ac5e7e385b29886103"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9952eeac405673c72fe17c2272d9eb8d"><td class="memItemLeft" align="right" valign="top"><a id="a9952eeac405673c72fe17c2272d9eb8d"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">async_file_handle::caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">async_file_handle::caching::only_metadata</a></td></tr>
-<tr class="separator:a9952eeac405673c72fe17c2272d9eb8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad21509e768940ed200e710dd68ae5bf8"><td class="memItemLeft" align="right" valign="top"><a id="ad21509e768940ed200e710dd68ae5bf8"></a>
-async_file_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b> = async_file_handle::flag::none</td></tr>
-<tr class="separator:ad21509e768940ed200e710dd68ae5bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; async_file_handle &gt;</h3>
-
-<p>Constructor for <code>async_file_handle</code> </p>
-</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">construct&lt; async_file_handle &gt;</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.js b/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.js
deleted file mode 100644
index 8ae5d53c..00000000
--- a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4 =
-[
- [ "operator()", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a8a9c7904bb3ea9fd5159d5405695999d", null ],
- [ "_caching", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a9952eeac405673c72fe17c2272d9eb8d", null ],
- [ "_creation", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ae152ee4b35a9e3ac5e7e385b29886103", null ],
- [ "_mode", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ab2dce4583256d4496dc429b8990cad55", null ],
- [ "_path", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a1261a9ebd836e8a6d55d4941b16b466c", null ],
- [ "base", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#adf70816f4afe6897f6fcfc7b5f49b3c7", null ],
- [ "flags", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ad21509e768940ed200e710dd68ae5bf8", null ],
- [ "service", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ac5e33b1e8ea06d184f5b0872513a171d", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html
index 6e46f77f..1e5a57c0 100644
--- a/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,7 +103,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html
index 0eb3a117..57a8e6dc 100644
--- a/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; directory_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; directory_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; directory_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; directory_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -122,10 +124,7 @@ directory_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>fla
<tr class="separator:abe3bdb5f77fd660bb15dc8987f30d468"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; directory_handle &gt;</h3>
-
-<p>Constructor for <code>directory_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>directory_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="directory__handle_8hpp.html">directory_handle.hpp</a></li>
</ul>
@@ -137,7 +136,7 @@ struct llfio_v2_xxx::construct&lt; directory_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html">construct&lt; directory_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html
index 794aa86f..ce96fc80 100644
--- a/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html
index 2a9ddd9c..05254c5b 100644
--- a/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; fast_random_file_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; fast_random_file_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; fast_random_file_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; fast_random_file_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -113,10 +115,7 @@ span&lt; const byte &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>s
<tr class="separator:a674cce150aa7558602047c3f83f359ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; fast_random_file_handle &gt;</h3>
-
-<p>Constructor for <code>fast_random_file_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>fast_random_file_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="fast__random__file__handle_8hpp.html">fast_random_file_handle.hpp</a></li>
</ul>
@@ -128,7 +127,7 @@ struct llfio_v2_xxx::construct&lt; fast_random_file_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html">construct&lt; fast_random_file_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html
index a1af2587..f965b4d2 100644
--- a/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,7 +103,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html
index 176401c4..b4d723e2 100644
--- a/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; file_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; file_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; file_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; file_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -122,10 +124,7 @@ file_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b
<tr class="separator:a925599dc6a6847fd0e47db43d4e8d2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; file_handle &gt;</h3>
-
-<p>Constructor for <code>file_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>file_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a></li>
</ul>
@@ -137,7 +136,7 @@ struct llfio_v2_xxx::construct&lt; file_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html">construct&lt; file_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html
index 7d033d2a..87088e37 100644
--- a/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,7 +101,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html
index eff1ca38..f9973258 100644
--- a/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; map_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; map_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; map_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; map_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -116,10 +118,7 @@ section_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag
<tr class="separator:a7060dac835f180dc53f526b225f7f4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; map_handle &gt;</h3>
-
-<p>Constructor for <code>map_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>map_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></li>
</ul>
@@ -131,7 +130,7 @@ struct llfio_v2_xxx::construct&lt; map_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html">construct&lt; map_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html
index 01c26147..79d496df 100644
--- a/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -102,7 +104,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html
index a040870b..5af1a203 100644
--- a/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; mapped_file_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; mapped_file_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; mapped_file_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; mapped_file_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -102,9 +104,6 @@ result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html"
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:a48372b9403bcb8ccaf07decd5edf7a41"><td class="memItemLeft" align="right" valign="top"><a id="a48372b9403bcb8ccaf07decd5edf7a41"></a>
-mapped_file_handle::size_type&#160;</td><td class="memItemRight" valign="bottom"><b>reservation</b></td></tr>
-<tr class="separator:a48372b9403bcb8ccaf07decd5edf7a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0104ba2b64a22dd223e64954a1855dd9"><td class="memItemLeft" align="right" valign="top"><a id="a0104ba2b64a22dd223e64954a1855dd9"></a>
const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>base</b></td></tr>
<tr class="separator:a0104ba2b64a22dd223e64954a1855dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -123,12 +122,12 @@ const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle<
<tr class="memitem:a1285d5f82a85c7bebf2d47d7b626796b"><td class="memItemLeft" align="right" valign="top"><a id="a1285d5f82a85c7bebf2d47d7b626796b"></a>
mapped_file_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b> = mapped_file_handle::flag::none</td></tr>
<tr class="separator:a1285d5f82a85c7bebf2d47d7b626796b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48372b9403bcb8ccaf07decd5edf7a41"><td class="memItemLeft" align="right" valign="top"><a id="a48372b9403bcb8ccaf07decd5edf7a41"></a>
+mapped_file_handle::size_type&#160;</td><td class="memItemRight" valign="bottom"><b>reservation</b> {0}</td></tr>
+<tr class="separator:a48372b9403bcb8ccaf07decd5edf7a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; mapped_file_handle &gt;</h3>
-
-<p>Constructor for <code>mapped_file_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>mapped_file_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="mapped__file__handle_8hpp.html">mapped_file_handle.hpp</a></li>
</ul>
@@ -140,7 +139,7 @@ struct llfio_v2_xxx::construct&lt; mapped_file_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html">construct&lt; mapped_file_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html
index e41f02df..4f7830fb 100644
--- a/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,7 +99,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html
index 02ba0eb1..30fde2ad 100644
--- a/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; path_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; path_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; path_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; path_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -110,10 +112,7 @@ const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle<
<tr class="separator:a227669313e9340c70703b5d27e0cc0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; path_handle &gt;</h3>
-
-<p>Constructor for <code>path_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>path_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="path__handle_8hpp.html">path_handle.hpp</a></li>
</ul>
@@ -125,7 +124,7 @@ struct llfio_v2_xxx::construct&lt; path_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html">construct&lt; path_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4-members.html
index 2ec2fdf4..b80fd781 100644
--- a/structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,20 +83,19 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; async_file_handle &gt; Member List</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; pipe_handle &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_creation</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_mode</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_path</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>() const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>service</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html">llfio_v2_xxx::construct&lt; async_file_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_creation</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_mode</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_path</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>() const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">llfio_v2_xxx::construct&lt; pipe_handle &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -102,7 +103,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html
new file mode 100644
index 00000000..e5bcebce
--- /dev/null
+++ b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::construct&lt; pipe_handle &gt; Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::construct&lt; pipe_handle &gt; Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Constructor for <code>pipe_handle</code>
+ <a href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#details">More...</a></p>
+
+<p><code>#include &quot;pipe_handle.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1c1c03647dedc0a218247d742989e9ac"><td class="memItemLeft" align="right" valign="top"><a id="a1c1c03647dedc0a218247d742989e9ac"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1pipe__handle.html">pipe_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> () const noexcept</td></tr>
+<tr class="separator:a1c1c03647dedc0a218247d742989e9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a8cc4497f836fd9b400207db7e5fb0e30"><td class="memItemLeft" align="right" valign="top"><a id="a8cc4497f836fd9b400207db7e5fb0e30"></a>
+<a class="el" href="classllfio__v2__xxx_1_1path__view.html">pipe_handle::path_view_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_path</b></td></tr>
+<tr class="separator:a8cc4497f836fd9b400207db7e5fb0e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace4ae7b44a6608b826db808d50f40859"><td class="memItemLeft" align="right" valign="top"><a id="ace4ae7b44a6608b826db808d50f40859"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">pipe_handle::mode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_mode</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">pipe_handle::mode::read</a></td></tr>
+<tr class="separator:ace4ae7b44a6608b826db808d50f40859"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7d69bec7518a90b8d77f40fb294ff1d"><td class="memItemLeft" align="right" valign="top"><a id="ae7d69bec7518a90b8d77f40fb294ff1d"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">pipe_handle::creation</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_creation</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">pipe_handle::creation::if_needed</a></td></tr>
+<tr class="separator:ae7d69bec7518a90b8d77f40fb294ff1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94ea51ae8b634e7d5d07687d84b2fd67"><td class="memItemLeft" align="right" valign="top"><a id="a94ea51ae8b634e7d5d07687d84b2fd67"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">pipe_handle::caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">pipe_handle::caching::all</a></td></tr>
+<tr class="separator:a94ea51ae8b634e7d5d07687d84b2fd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6d3c5dbe916b9dd8592c28735b9560c"><td class="memItemLeft" align="right" valign="top"><a id="ab6d3c5dbe916b9dd8592c28735b9560c"></a>
+pipe_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b> = pipe_handle::flag::none</td></tr>
+<tr class="separator:ab6d3c5dbe916b9dd8592c28735b9560c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45fea525cd0b6b1e0485c5ea4144448b"><td class="memItemLeft" align="right" valign="top"><a id="a45fea525cd0b6b1e0485c5ea4144448b"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>base</b> = <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2d3e2ea602c3195433c7898c41744188">path_discovery::temporary_named_pipes_directory</a>()</td></tr>
+<tr class="separator:a45fea525cd0b6b1e0485c5ea4144448b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Constructor for <code>pipe_handle</code> </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="pipe__handle_8hpp.html">pipe_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html">construct&lt; pipe_handle &gt;</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.js b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.js
new file mode 100644
index 00000000..9595ca88
--- /dev/null
+++ b/structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.js
@@ -0,0 +1,10 @@
+var structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4 =
+[
+ [ "operator()", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a1c1c03647dedc0a218247d742989e9ac", null ],
+ [ "_caching", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a94ea51ae8b634e7d5d07687d84b2fd67", null ],
+ [ "_creation", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ae7d69bec7518a90b8d77f40fb294ff1d", null ],
+ [ "_mode", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ace4ae7b44a6608b826db808d50f40859", null ],
+ [ "_path", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a8cc4497f836fd9b400207db7e5fb0e30", null ],
+ [ "base", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#a45fea525cd0b6b1e0485c5ea4144448b", null ],
+ [ "flags", "structllfio__v2__xxx_1_1construct_3_01pipe__handle_01_4.html#ab6d3c5dbe916b9dd8592c28735b9560c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4-members.html
new file mode 100644
index 00000000..2872ab16
--- /dev/null
+++ b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::construct&lt; process_handle &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_args</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_env</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_path</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>() const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">llfio_v2_xxx::construct&lt; process_handle &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html
index 5e9bd7e0..0e12d756 100644
--- a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html
+++ b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_service::awaitable_post_to_self Struct Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; process_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,50 +85,52 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__service_1_
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self-members.html">List of all members</a> </div>
+<a href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_service::awaitable_post_to_self Struct Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; process_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
-<p><code>#include &quot;io_service.hpp&quot;</code></p>
+<p>Constructor for <code>process_handle</code>
+ <a href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#details">More...</a></p>
+
+<p><code>#include &quot;process_handle.hpp&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:a1023716d724ddf252b772f9b83b1fe85"><td class="memItemLeft" align="right" valign="top"><a id="a1023716d724ddf252b772f9b83b1fe85"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85">awaitable_post_to_self</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;_service)</td></tr>
-<tr class="memdesc:a1023716d724ddf252b772f9b83b1fe85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, takes the i/o service whose kernel thread we are to reschedule onto. <br /></td></tr>
-<tr class="separator:a1023716d724ddf252b772f9b83b1fe85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36478f1b79b50373f6f2336c5d492501"><td class="memItemLeft" align="right" valign="top"><a id="a36478f1b79b50373f6f2336c5d492501"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>await_ready</b> ()</td></tr>
-<tr class="separator:a36478f1b79b50373f6f2336c5d492501"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00191d017cabcae0bd140d8027174ad7"><td class="memItemLeft" align="right" valign="top"><a id="a00191d017cabcae0bd140d8027174ad7"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>await_suspend</b> (coroutine_handle&lt;&gt; co)</td></tr>
-<tr class="separator:a00191d017cabcae0bd140d8027174ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8699e5b9a1245b99956fdd584249b18c"><td class="memItemLeft" align="right" valign="top"><a id="a8699e5b9a1245b99956fdd584249b18c"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>await_resume</b> ()</td></tr>
-<tr class="separator:a8699e5b9a1245b99956fdd584249b18c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99a5107835d9951ae0230ae0692b3197"><td class="memItemLeft" align="right" valign="top"><a id="a99a5107835d9951ae0230ae0692b3197"></a>
+result&lt; <a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> () const noexcept</td></tr>
+<tr class="separator:a99a5107835d9951ae0230ae0692b3197"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:abe3c60300a5c6ba7d5b79cb80c0d06c4"><td class="memItemLeft" align="right" valign="top"><a id="abe3c60300a5c6ba7d5b79cb80c0d06c4"></a>
-<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>service</b></td></tr>
-<tr class="separator:abe3c60300a5c6ba7d5b79cb80c0d06c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9991b5abd9c0333d8480e6c20b0afd3"><td class="memItemLeft" align="right" valign="top"><a id="ad9991b5abd9c0333d8480e6c20b0afd3"></a>
+<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_path</b></td></tr>
+<tr class="separator:ad9991b5abd9c0333d8480e6c20b0afd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba83e305f708b0cd1c0c3efa904ed84d"><td class="memItemLeft" align="right" valign="top"><a id="aba83e305f708b0cd1c0c3efa904ed84d"></a>
+span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_args</b></td></tr>
+<tr class="separator:aba83e305f708b0cd1c0c3efa904ed84d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a906515570d2d5bc9a9c6c141ebf9f2af"><td class="memItemLeft" align="right" valign="top"><a id="a906515570d2d5bc9a9c6c141ebf9f2af"></a>
+span&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_env</b> = *<a class="el" href="classllfio__v2__xxx_1_1process__handle.html#a9304f001b08fa64ae146e5bc44ecdeb9">process_handle::current</a>().environment()</td></tr>
+<tr class="separator:a906515570d2d5bc9a9c6c141ebf9f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9aeeb80f1d4a86de1cf54da091595d58"><td class="memItemLeft" align="right" valign="top"><a id="a9aeeb80f1d4a86de1cf54da091595d58"></a>
+process_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> = process_handle::flag::wait_on_close</td></tr>
+<tr class="separator:a9aeeb80f1d4a86de1cf54da091595d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>An awaitable suspending execution of this coroutine on the current kernel thread, and resuming execution on the kernel thread running this i/o service. This is a convenience wrapper for <code>post()</code>. </p>
+<div class="textblock"><p>Constructor for <code>process_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__service_8hpp.html">io_service.hpp</a></li>
+<li>include/llfio/v2.0/<a class="el" href="process__handle_8hpp.html">process_handle.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">awaitable_post_to_self</a></li>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html">construct&lt; process_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.js b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.js
new file mode 100644
index 00000000..5e57b967
--- /dev/null
+++ b/structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.js
@@ -0,0 +1,8 @@
+var structllfio__v2__xxx_1_1construct_3_01process__handle_01_4 =
+[
+ [ "operator()", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a99a5107835d9951ae0230ae0692b3197", null ],
+ [ "_args", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#aba83e305f708b0cd1c0c3efa904ed84d", null ],
+ [ "_env", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a906515570d2d5bc9a9c6c141ebf9f2af", null ],
+ [ "_flags", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#a9aeeb80f1d4a86de1cf54da091595d58", null ],
+ [ "_path", "structllfio__v2__xxx_1_1construct_3_01process__handle_01_4.html#ad9991b5abd9c0333d8480e6c20b0afd3", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html
index 401c2cde..bcbba1e3 100644
--- a/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html
index 83a8baaa..3fe9e19a 100644
--- a/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; section_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; section_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; section_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; section_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -113,10 +115,7 @@ section_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag
<tr class="separator:af3df17dbf0f309c4973dd1dcbb3d9ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; section_handle &gt;</h3>
-
-<p>Constructor for <code>section_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>section_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="map__handle_8hpp.html">map_handle.hpp</a></li>
</ul>
@@ -128,7 +127,7 @@ struct llfio_v2_xxx::construct&lt; section_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html">construct&lt; section_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html b/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html
index dea84c4d..dd41e776 100644
--- a/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html
+++ b/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,7 +101,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html b/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html
index 7302d272..c7f09fb4 100644
--- a/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html
+++ b/structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::construct&lt; symlink_handle &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::construct&lt; symlink_handle &gt; Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -85,7 +87,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1construct_3_01
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::construct&lt; symlink_handle &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::construct&lt; symlink_handle &gt; Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
@@ -116,10 +118,7 @@ const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle<
<tr class="separator:a3f7c5cf88dbce2bdc5770b6ed3ffbb48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;&gt;<br />
-struct llfio_v2_xxx::construct&lt; symlink_handle &gt;</h3>
-
-<p>Constructor for <code>symlink_handle</code> </p>
+<div class="textblock"><p>Constructor for <code>symlink_handle</code> </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="symlink__handle_8hpp.html">symlink_handle.hpp</a></li>
</ul>
@@ -131,7 +130,7 @@ struct llfio_v2_xxx::construct&lt; symlink_handle &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html">construct&lt; symlink_handle &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1deadline-members.html b/structllfio__v2__xxx_1_1deadline-members.html
index 81c29fc3..49eb4036 100644
--- a/structllfio__v2__xxx_1_1deadline-members.html
+++ b/structllfio__v2__xxx_1_1deadline-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1deadline.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1deadline.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,7 +99,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1deadline.html'
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1deadline.html b/structllfio__v2__xxx_1_1deadline.html
index e3a49e8e..f20b1780 100644
--- a/structllfio__v2__xxx_1_1deadline.html
+++ b/structllfio__v2__xxx_1_1deadline.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::deadline Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1deadline.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1deadline.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -125,7 +127,7 @@ union {</td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__entry-members.html b/structllfio__v2__xxx_1_1directory__entry-members.html
index a6af0064..8b7af9fa 100644
--- a/structllfio__v2__xxx_1_1directory__entry-members.html
+++ b/structllfio__v2__xxx_1_1directory__entry-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__entry.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__entry.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -96,7 +98,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__ent
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__entry.html b/structllfio__v2__xxx_1_1directory__entry.html
index 1de8a975..edb46db4 100644
--- a/structllfio__v2__xxx_1_1directory__entry.html
+++ b/structllfio__v2__xxx_1_1directory__entry.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::directory_entry Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__entry.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__entry.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -110,7 +112,7 @@ Public Attributes</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html
index d9431461..e5ec7522 100644
--- a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html
+++ b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,15 +89,18 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__han
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>, including all inherited members.</p>
<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_base</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989">buffers_type</a>(span&lt; buffer_type &gt; v)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888">buffers_type</a>(buffers_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2">buffers_type</a>(const buffers_type &amp;)=delete</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b">done</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">metadata</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5">operator=</a>(buffers_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e">operator=</a>(const buffers_type &amp;)=delete</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffers_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41">buffers_type</a>(span&lt; buffer_type &gt; v, buffers_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888">buffers_type</a>(buffers_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2">buffers_type</a>(const buffers_type &amp;)=delete</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b">done</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">metadata</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5">operator=</a>(buffers_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a83249c8307c80703efff0eb0c8cde85e">operator=</a>(const buffers_type &amp;)=delete</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~buffers_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">llfio_v2_xxx::directory_handle::buffers_type</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -103,7 +108,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__han
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html
index 3084c0b5..a83c4772 100644
--- a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html
+++ b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::directory_handle::buffers_type Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,6 +83,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__han
<div class="header">
<div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type-members.html">List of all members</a> </div>
@@ -94,11 +97,15 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__han
Inheritance diagram for llfio_v2_xxx::directory_handle::buffers_type:</div>
<div class="dyncontent">
<div class="center">
- <img src="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.png" usemap="#llfio_5Fv2_5Fxxx::directory_5Fhandle::buffers_5Ftype_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::directory_5Fhandle::buffers_5Ftype_map" name="llfio_5Fv2_5Fxxx::directory_5Fhandle::buffers_5Ftype_map">
-</map>
+ <img src="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.png" alt=""/>
</div></div>
<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a528b7a4f0ce374154791c6c79efcee96"><td class="memItemLeft" align="right" valign="top"><a id="a528b7a4f0ce374154791c6c79efcee96"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>_base</b> = span&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">buffer_type</a> &gt;</td></tr>
+<tr class="separator:a528b7a4f0ce374154791c6c79efcee96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a14d4df3a12986e4938ec8a5f8427e4ca"><td class="memItemLeft" align="right" valign="top">stat_t::want&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">metadata</a> () const noexcept</td></tr>
@@ -111,6 +118,10 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stru
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989">buffers_type</a> (span&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">buffer_type</a> &gt; v)</td></tr>
<tr class="memdesc:ac99d361654291d463bfce813c0d15989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit construction from a span. <br /></td></tr>
<tr class="separator:ac99d361654291d463bfce813c0d15989"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92ffa4a0d93d289bf1f9173f0d220d41"><td class="memItemLeft" align="right" valign="top"><a id="a92ffa4a0d93d289bf1f9173f0d220d41"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41">buffers_type</a> (span&lt; <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">buffer_type</a> &gt; v, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a92ffa4a0d93d289bf1f9173f0d220d41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from a span, using a kernel buffer from a preceding <code>buffers_type</code>. <br /></td></tr>
+<tr class="separator:a92ffa4a0d93d289bf1f9173f0d220d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49ed1fc7d1b5b0b6bc8e039b228d3888"><td class="memItemLeft" align="right" valign="top"><a id="a49ed1fc7d1b5b0b6bc8e039b228d3888"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888">buffers_type</a> (<a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a> &amp;&amp;o) noexcept</td></tr>
<tr class="memdesc:a49ed1fc7d1b5b0b6bc8e039b228d3888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
@@ -161,7 +172,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</table>
</div><div class="memdoc">
<p>The list of stat metadata retrieved. Sometimes, due to kernel API design, enumerating a directory retrieves more than the metadata requested in the read request. This indidicates what stat metadata is in the buffers filled. </p>
-<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{ <span class="keywordflow">return</span> _metadata; }</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{ <span class="keywordflow">return</span> _metadata; }</div>
+</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
@@ -175,7 +187,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html">buffers_type</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.js b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.js
index a852819f..a0e42c58 100644
--- a/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.js
+++ b/structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.js
@@ -1,6 +1,9 @@
var structllfio__v2__xxx_1_1directory__handle_1_1buffers__type =
[
+ [ "_base", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a528b7a4f0ce374154791c6c79efcee96", null ],
+ [ "buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a5d249881aa831fb0300b5681de3af11e", null ],
[ "buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989", null ],
+ [ "buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a92ffa4a0d93d289bf1f9173f0d220d41", null ],
[ "~buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a8d1148aa4702fbdbf8386c39ade9df05", null ],
[ "buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888", null ],
[ "buffers_type", "structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2", null ],
diff --git a/structllfio__v2__xxx_1_1directory__handle_1_1io__request-members.html b/structllfio__v2__xxx_1_1directory__handle_1_1io__request-members.html
index 91b13814..f11a9150 100644
--- a/structllfio__v2__xxx_1_1directory__handle_1_1io__request-members.html
+++ b/structllfio__v2__xxx_1_1directory__handle_1_1io__request-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1io__request.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,7 +101,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__han
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1directory__handle_1_1io__request.html b/structllfio__v2__xxx_1_1directory__handle_1_1io__request.html
index f2d7bb8b..ddffccfb 100644
--- a/structllfio__v2__xxx_1_1directory__handle_1_1io__request.html
+++ b/structllfio__v2__xxx_1_1directory__handle_1_1io__request.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::directory_handle::io_request&lt; class &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1io__request.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1directory__handle_1_1io__request.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -177,8 +179,13 @@ template&lt;class &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {}, <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> _filtering = <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8">filter::fastdeleted</a>, span&lt;char&gt; _kernelbuffer = {})</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; : buffers(std::move(_buffers))</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; , glob(_glob)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; , filtering(_filtering)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; , kernelbuffer(_kernelbuffer)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1directory__handle_html_a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8">llfio_v2_xxx::directory_handle::filter::fastdeleted</a></div><div class="ttdoc">For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (f...</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1directory__handle_html_a54d63e0972dee77ef1f0ff14bd4f9207"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">llfio_v2_xxx::directory_handle::filter</a></div><div class="ttdeci">filter</div><div class="ttdoc">How to do deleted file elimination on Windows. </div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:134</div></div>
+<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {}, <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> _filtering = <a class="code" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8">filter::fastdeleted</a>, span&lt;char&gt; _kernelbuffer = {})</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; : buffers(std::move(_buffers))</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; , glob(_glob)</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; , filtering(_filtering)</div>
+<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; , kernelbuffer(_kernelbuffer)</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -187,13 +194,15 @@ template&lt;class &gt; </div>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1directory__handle_html_a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8">llfio_v2_xxx::directory_handle::filter::fastdeleted</a></div><div class="ttdeci">@ fastdeleted</div><div class="ttdoc">For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (f...</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1directory__handle_html_a54d63e0972dee77ef1f0ff14bd4f9207"><div class="ttname"><a href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">llfio_v2_xxx::directory_handle::filter</a></div><div class="ttdeci">filter</div><div class="ttdoc">How to do deleted file elimination on Windows.</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:166</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">directory_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1io__request.html">io_request</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness-members.html b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness-members.html
new file mode 100644
index 00000000..98250ac7
--- /dev/null
+++ b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_internal</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768">barriers</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc">reads</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c">writes</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html
new file mode 100644
index 00000000..c7b2e890
--- /dev/null
+++ b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::dynamic_thread_pool_group::io_aware_work_item::io_handle_awareness Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Information about an i/o handle this work item will use.
+ <a href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#details">More...</a></p>
+
+<p><code>#include &quot;dynamic_thread_pool_group.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a2f887c72bdc31512820a21e2c710fda4"><td class="memItemLeft" align="right" valign="top"><a id="a2f887c72bdc31512820a21e2c710fda4"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4">h</a> {nullptr}</td></tr>
+<tr class="memdesc:a2f887c72bdc31512820a21e2c710fda4"><td class="mdescLeft">&#160;</td><td class="mdescRight">An i/o handle this work item will use. <br /></td></tr>
+<tr class="separator:a2f887c72bdc31512820a21e2c710fda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa10edb6bff6751c66c540ed104b065cc"><td class="memItemLeft" align="right" valign="top"><a id="aa10edb6bff6751c66c540ed104b065cc"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc">reads</a> {0}</td></tr>
+<tr class="memdesc:aa10edb6bff6751c66c540ed104b065cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The relative amount of reading done by this work item from the handle. <br /></td></tr>
+<tr class="separator:aa10edb6bff6751c66c540ed104b065cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cc884cd6913c6be1a171cc82e17389c"><td class="memItemLeft" align="right" valign="top"><a id="a4cc884cd6913c6be1a171cc82e17389c"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c">writes</a> {0}</td></tr>
+<tr class="memdesc:a4cc884cd6913c6be1a171cc82e17389c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The relative amount of writing done by this work item to the handle. <br /></td></tr>
+<tr class="separator:a4cc884cd6913c6be1a171cc82e17389c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7def03d821a4b622630749cc95d66768"><td class="memItemLeft" align="right" valign="top"><a id="a7def03d821a4b622630749cc95d66768"></a>
+float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768">barriers</a> {0}</td></tr>
+<tr class="memdesc:a7def03d821a4b622630749cc95d66768"><td class="mdescLeft">&#160;</td><td class="mdescRight">The relative amount of write barriering done by this work item to the handle. <br /></td></tr>
+<tr class="separator:a7def03d821a4b622630749cc95d66768"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a72d066740f2b09005c6bbce3ffcde1"><td class="memItemLeft" align="right" valign="top"><a id="a5a72d066740f2b09005c6bbce3ffcde1"></a>
+void *&#160;</td><td class="memItemRight" valign="bottom"><b>_internal</b> {nullptr}</td></tr>
+<tr class="separator:a5a72d066740f2b09005c6bbce3ffcde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Information about an i/o handle this work item will use. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/dynamic_thread_pool_group.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group.html">dynamic_thread_pool_group</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item.html">io_aware_work_item</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html">io_handle_awareness</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.js b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.js
new file mode 100644
index 00000000..1319e0da
--- /dev/null
+++ b/structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.js
@@ -0,0 +1,8 @@
+var structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness =
+[
+ [ "_internal", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a5a72d066740f2b09005c6bbce3ffcde1", null ],
+ [ "barriers", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a7def03d821a4b622630749cc95d66768", null ],
+ [ "h", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a2f887c72bdc31512820a21e2c710fda4", null ],
+ [ "reads", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#aa10edb6bff6751c66c540ed104b065cc", null ],
+ [ "writes", "structllfio__v2__xxx_1_1dynamic__thread__pool__group_1_1io__aware__work__item_1_1io__handle__awareness.html#a4cc884cd6913c6be1a171cc82e17389c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1error__info-members.html b/structllfio__v2__xxx_1_1error__info-members.html
index f7618b3e..5a25ddaa 100644
--- a/structllfio__v2__xxx_1_1error__info-members.html
+++ b/structllfio__v2__xxx_1_1error__info-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,7 +89,15 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.ht
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a>, including all inherited members.</p>
<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4">error_info</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>error_info</b>(std::error_code _ec) (defined in <a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>make_error_code</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">message</a>() const</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5">OUTCOME_TEMPLATE</a>(class ErrorCondEnum) OUTCOME_TREQUIRES(OUTCOME_TPRED(std</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5">path1</a>() const</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38">path2</a>() const</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c">throw_exception</a>() const</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a">value</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">llfio_v2_xxx::error_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -95,7 +105,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.ht
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1error__info.html b/structllfio__v2__xxx_1_1error__info.html
index 4e0aff9c..fbc2fbf2 100644
--- a/structllfio__v2__xxx_1_1error__info.html
+++ b/structllfio__v2__xxx_1_1error__info.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::error_info Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,6 +83,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.ht
<div class="header">
<div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="structllfio__v2__xxx_1_1error__info-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -93,6 +96,36 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1error__info.ht
<p><code>#include &quot;status_code.hpp&quot;</code></p>
<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3831950954e8d008630dcc6e0e1dadf4"><td class="memItemLeft" align="right" valign="top"><a id="a3831950954e8d008630dcc6e0e1dadf4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4">error_info</a> ()=default</td></tr>
+<tr class="memdesc:a3831950954e8d008630dcc6e0e1dadf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a3831950954e8d008630dcc6e0e1dadf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb88c6b0d4a2870c0ed4222538ee8418"><td class="memItemLeft" align="right" valign="top"><a id="aeb88c6b0d4a2870c0ed4222538ee8418"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>error_info</b> (std::error_code _ec)</td></tr>
+<tr class="separator:aeb88c6b0d4a2870c0ed4222538ee8418"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a10b1a5cbfcc4dcdbd5bace417c1583c5"><td class="memItemLeft" align="right" valign="top"><a id="a10b1a5cbfcc4dcdbd5bace417c1583c5"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5">OUTCOME_TEMPLATE</a> (class ErrorCondEnum) OUTCOME_TREQUIRES(OUTCOME_TPRED(std</td></tr>
+<tr class="memdesc:a10b1a5cbfcc4dcdbd5bace417c1583c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicit construct from an error condition enum. <br /></td></tr>
+<tr class="separator:a10b1a5cbfcc4dcdbd5bace417c1583c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdaff59eb9c0392ffa41a0ddb158193a"><td class="memItemLeft" align="right" valign="top"><a id="acdaff59eb9c0392ffa41a0ddb158193a"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a">value</a> () const noexcept</td></tr>
+<tr class="memdesc:acdaff59eb9c0392ffa41a0ddb158193a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the value of the error code. <br /></td></tr>
+<tr class="separator:acdaff59eb9c0392ffa41a0ddb158193a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9037be55f1038e6ebffe2f98e5b1b6a5"><td class="memItemLeft" align="right" valign="top"><a id="a9037be55f1038e6ebffe2f98e5b1b6a5"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5">path1</a> () const</td></tr>
+<tr class="memdesc:a9037be55f1038e6ebffe2f98e5b1b6a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve any first path associated with this failure. Note this only works if called from the same thread as where the failure occurred. <br /></td></tr>
+<tr class="separator:a9037be55f1038e6ebffe2f98e5b1b6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bc1649b05341a45c414c48e3dd94f38"><td class="memItemLeft" align="right" valign="top"><a id="a6bc1649b05341a45c414c48e3dd94f38"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38">path2</a> () const</td></tr>
+<tr class="memdesc:a6bc1649b05341a45c414c48e3dd94f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve any second path associated with this failure. Note this only works if called from the same thread as where the failure occurred. <br /></td></tr>
+<tr class="separator:a6bc1649b05341a45c414c48e3dd94f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ba6efb57025c79297c3a3061ae78bf9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">message</a> () const</td></tr>
+<tr class="separator:a3ba6efb57025c79297c3a3061ae78bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab08549050a7e020a9939b1961ed1ae2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c">throw_exception</a> () const</td></tr>
+<tr class="separator:ab08549050a7e020a9939b1961ed1ae2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a005a8988d90a60851592b9ce46f43c68"><td class="memItemLeft" align="right" valign="top"><a id="a005a8988d90a60851592b9ce46f43c68"></a>
@@ -101,19 +134,92 @@ std::error_code&#160;</td><td class="memItemRight" valign="bottom"><b>make_error
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The cause of the failure of an operation in LLFIO. </p>
-</div><hr/>The documentation for this struct was generated from the following files:<ul>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a3ba6efb57025c79297c3a3061ae78bf9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ba6efb57025c79297c3a3061ae78bf9">&#9670;&nbsp;</a></span>message()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string llfio_v2_xxx::error_info::message </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Retrieve a descriptive message for this failure, possibly with paths and stack backtraces. Extra detail only appears if called from the same thread as where the failure occurred. </p>
+<div class="fragment"><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
+<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; std::string ret(ec.message());</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="preprocessor">#if !LLFIO_DISABLE_PATHS_IN_FAILURE_INFO</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; detail::append_path_info(*<span class="keyword">this</span>, ret);</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">return</span> ret;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="ab08549050a7e020a9939b1961ed1ae2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab08549050a7e020a9939b1961ed1ae2c">&#9670;&nbsp;</a></span>throw_exception()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">void llfio_v2_xxx::error_info::throw_exception </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Throw this failure as a C++ exception. Firstly if the error code matches any of the standard C++ exception types e.g. <code>bad_alloc</code>, we throw those types using the string from <code>message()</code> where possible. We then will throw an <code>error</code> exception type. </p>
+<div class="fragment"><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;{</div>
+<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; std::string msg;</div>
+<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div>
+<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; msg = <a class="code" href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">message</a>();</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div>
+<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">catch</span>(...)</div>
+<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div>
+<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; }</div>
+<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; OUTCOME_V2_NAMESPACE::try_throw_std_exception_from_error(ec, msg);</div>
+<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">throw</span> error(*<span class="keyword">this</span>);</div>
+<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following files:<ul>
<li>include/llfio/v2.0/status_code.hpp</li>
<li>include/llfio/v2.0/<a class="el" href="handle_8hpp.html">handle.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1error__info_html_a3ba6efb57025c79297c3a3061ae78bf9"><div class="ttname"><a href="structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9">llfio_v2_xxx::error_info::message</a></div><div class="ttdeci">std::string message() const</div><div class="ttdef"><b>Definition:</b> status_code.hpp:442</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1error__info.html">error_info</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1error__info.js b/structllfio__v2__xxx_1_1error__info.js
index d64e9af0..89e0d28f 100644
--- a/structllfio__v2__xxx_1_1error__info.js
+++ b/structllfio__v2__xxx_1_1error__info.js
@@ -1,4 +1,12 @@
var structllfio__v2__xxx_1_1error__info =
[
+ [ "error_info", "structllfio__v2__xxx_1_1error__info.html#a3831950954e8d008630dcc6e0e1dadf4", null ],
+ [ "error_info", "structllfio__v2__xxx_1_1error__info.html#aeb88c6b0d4a2870c0ed4222538ee8418", null ],
+ [ "message", "structllfio__v2__xxx_1_1error__info.html#a3ba6efb57025c79297c3a3061ae78bf9", null ],
+ [ "OUTCOME_TEMPLATE", "structllfio__v2__xxx_1_1error__info.html#a10b1a5cbfcc4dcdbd5bace417c1583c5", null ],
+ [ "path1", "structllfio__v2__xxx_1_1error__info.html#a9037be55f1038e6ebffe2f98e5b1b6a5", null ],
+ [ "path2", "structllfio__v2__xxx_1_1error__info.html#a6bc1649b05341a45c414c48e3dd94f38", null ],
+ [ "throw_exception", "structllfio__v2__xxx_1_1error__info.html#ab08549050a7e020a9939b1961ed1ae2c", null ],
+ [ "value", "structllfio__v2__xxx_1_1error__info.html#acdaff59eb9c0392ffa41a0ddb158193a", null ],
[ "make_error_code", "structllfio__v2__xxx_1_1error__info.html#a005a8988d90a60851592b9ce46f43c68", null ]
]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng-members.html b/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng-members.html
index 99c3b8e7..fd03e341 100644
--- a/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng-members.html
+++ b/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html b/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html
index 2a0dbe7e..eeae79df 100644
--- a/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html
+++ b/structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::fast_random_file_handle::prng Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -92,9 +94,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1fast__random__
Inheritance diagram for llfio_v2_xxx::fast_random_file_handle::prng:</div>
<div class="dyncontent">
<div class="center">
- <img src="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.png" usemap="#llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle::prng_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle::prng_map" name="llfio_5Fv2_5Fxxx::fast_5Frandom_5Ffile_5Fhandle::prng_map">
-</map>
+ <img src="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@@ -123,7 +123,7 @@ _base::value_type&#160;</td><td class="memItemRight" valign="bottom"><b>operator
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">fast_random_file_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html">prng</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1file__handle_1_1extent__pair-members.html b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair-members.html
new file mode 100644
index 00000000..ddc8d49d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::file_handle::extent_pair Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_pair</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_pair</b>(extent_type _offset, extent_type _length) (defined in <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a">length</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e">offset</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator!=</b>(const extent_pair &amp;o) const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;</b>(const extent_pair &amp;o) const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator==</b>(const extent_pair &amp;o) const noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">llfio_v2_xxx::file_handle::extent_pair</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html
new file mode 100644
index 00000000..80a0c11b
--- /dev/null
+++ b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::file_handle::extent_pair Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::file_handle::extent_pair Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A pair of valid extents.
+ <a href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#details">More...</a></p>
+
+<p><code>#include &quot;file_handle.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a236b653b2364ca641921573eb2234161"><td class="memItemLeft" align="right" valign="top"><a id="a236b653b2364ca641921573eb2234161"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>extent_pair</b> (extent_type _offset, extent_type _length)</td></tr>
+<tr class="separator:a236b653b2364ca641921573eb2234161"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15803043788e8035b49666399daf567b"><td class="memItemLeft" align="right" valign="top"><a id="a15803043788e8035b49666399daf567b"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &amp;o) const noexcept</td></tr>
+<tr class="separator:a15803043788e8035b49666399daf567b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c25646d9503f96589fd2a8eb3ee38e5"><td class="memItemLeft" align="right" valign="top"><a id="a7c25646d9503f96589fd2a8eb3ee38e5"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &amp;o) const noexcept</td></tr>
+<tr class="separator:a7c25646d9503f96589fd2a8eb3ee38e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5c10a964de26ec48eeb01e31218889f"><td class="memItemLeft" align="right" valign="top"><a id="ac5c10a964de26ec48eeb01e31218889f"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a> &amp;o) const noexcept</td></tr>
+<tr class="separator:ac5c10a964de26ec48eeb01e31218889f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a262bee34ba37e87b3a837ab45724693e"><td class="memItemLeft" align="right" valign="top"><a id="a262bee34ba37e87b3a837ab45724693e"></a>
+extent_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e">offset</a> {(extent_type) -1}</td></tr>
+<tr class="memdesc:a262bee34ba37e87b3a837ab45724693e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The offset of where the valid extent begins. <br /></td></tr>
+<tr class="separator:a262bee34ba37e87b3a837ab45724693e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a694c74732e045b21ef066232cfe2827a"><td class="memItemLeft" align="right" valign="top"><a id="a694c74732e045b21ef066232cfe2827a"></a>
+extent_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a">length</a> {(extent_type) -1}</td></tr>
+<tr class="memdesc:a694c74732e045b21ef066232cfe2827a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of valid bytes in the valid extent. <br /></td></tr>
+<tr class="separator:a694c74732e045b21ef066232cfe2827a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A pair of valid extents. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html">extent_pair</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.js b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.js
new file mode 100644
index 00000000..d70557ec
--- /dev/null
+++ b/structllfio__v2__xxx_1_1file__handle_1_1extent__pair.js
@@ -0,0 +1,10 @@
+var structllfio__v2__xxx_1_1file__handle_1_1extent__pair =
+[
+ [ "extent_pair", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a2d24ecbcb59152be697bb4b59ac2cc7f", null ],
+ [ "extent_pair", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a236b653b2364ca641921573eb2234161", null ],
+ [ "operator!=", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a7c25646d9503f96589fd2a8eb3ee38e5", null ],
+ [ "operator<", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#ac5c10a964de26ec48eeb01e31218889f", null ],
+ [ "operator==", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a15803043788e8035b49666399daf567b", null ],
+ [ "length", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a694c74732e045b21ef066232cfe2827a", null ],
+ [ "offset", "structllfio__v2__xxx_1_1file__handle_1_1extent__pair.html#a262bee34ba37e87b3a837ab45724693e", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type-members.html b/structllfio__v2__xxx_1_1io__handle_1_1buffer__type-members.html
deleted file mode 100644
index ec2c0934..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type-members.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::buffer_type Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>, including all inherited members.</p>
-<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_check_iovec_match</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23">begin</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c">begin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b">buffer_type</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db">buffer_type</a>(pointer data, size_type len) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b>(const buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b>(buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205">cbegin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36">cend</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3">const_pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d">data</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5">data</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8">end</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2">end</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba">size</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">size_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">llfio_v2_xxx::io_handle::buffer_type</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html b/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html
deleted file mode 100644
index fbfdec4a..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_handle::buffer_type Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> &#124;
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#friends">Friends</a> &#124;
-<a href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::buffer_type Struct Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &quot;io_handle.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:ab21685c769dceb48605a50539050c5f2"><td class="memItemLeft" align="right" valign="top"><a id="ab21685c769dceb48605a50539050c5f2"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">pointer</a> = byte *</td></tr>
-<tr class="memdesc:ab21685c769dceb48605a50539050c5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
-<tr class="separator:ab21685c769dceb48605a50539050c5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a014d6325987a0ace31118793956b18c3"><td class="memItemLeft" align="right" valign="top"><a id="a014d6325987a0ace31118793956b18c3"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3">const_pointer</a> = const byte *</td></tr>
-<tr class="memdesc:a014d6325987a0ace31118793956b18c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
-<tr class="separator:a014d6325987a0ace31118793956b18c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3a52ec7ae245e4056ccec17ecc97d7b5"><td class="memItemLeft" align="right" valign="top"><a id="a3a52ec7ae245e4056ccec17ecc97d7b5"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">iterator</a> = byte *</td></tr>
-<tr class="memdesc:a3a52ec7ae245e4056ccec17ecc97d7b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
-<tr class="separator:a3a52ec7ae245e4056ccec17ecc97d7b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a831e6eafb28eec4e73765fdfdc8440ed"><td class="memItemLeft" align="right" valign="top"><a id="a831e6eafb28eec4e73765fdfdc8440ed"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a> = const byte *</td></tr>
-<tr class="memdesc:a831e6eafb28eec4e73765fdfdc8440ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
-<tr class="separator:a831e6eafb28eec4e73765fdfdc8440ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ce9cb356417eb14142a785d7283d008"><td class="memItemLeft" align="right" valign="top"><a id="a2ce9cb356417eb14142a785d7283d008"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">size_type</a> = size_t</td></tr>
-<tr class="memdesc:a2ce9cb356417eb14142a785d7283d008"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the length of memory. <br /></td></tr>
-<tr class="separator:a2ce9cb356417eb14142a785d7283d008"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:aa9d73d003082c6692e55c6321cf4ff2b"><td class="memItemLeft" align="right" valign="top"><a id="aa9d73d003082c6692e55c6321cf4ff2b"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b">buffer_type</a> ()=default</td></tr>
-<tr class="memdesc:aa9d73d003082c6692e55c6321cf4ff2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
-<tr class="separator:aa9d73d003082c6692e55c6321cf4ff2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a797bf3760066da6bf3632cfb6f9658db"><td class="memItemLeft" align="right" valign="top"><a id="a797bf3760066da6bf3632cfb6f9658db"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db">buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">pointer</a> <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d">data</a>, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">size_type</a> len) noexcept</td></tr>
-<tr class="memdesc:a797bf3760066da6bf3632cfb6f9658db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
-<tr class="separator:a797bf3760066da6bf3632cfb6f9658db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4dd4efd8203c5e792b1c061f44d2e899"><td class="memItemLeft" align="right" valign="top"><a id="a4dd4efd8203c5e792b1c061f44d2e899"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;)=default</td></tr>
-<tr class="separator:a4dd4efd8203c5e792b1c061f44d2e899"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f4dde94a96514f8d7fb614bd4cf7080"><td class="memItemLeft" align="right" valign="top"><a id="a3f4dde94a96514f8d7fb614bd4cf7080"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:a3f4dde94a96514f8d7fb614bd4cf7080"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56a4646d9e704624bc56c7290f9853b9"><td class="memItemLeft" align="right" valign="top"><a id="a56a4646d9e704624bc56c7290f9853b9"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;)=default</td></tr>
-<tr class="separator:a56a4646d9e704624bc56c7290f9853b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56e6ad95e6034b0ab36fbe838a1b4999"><td class="memItemLeft" align="right" valign="top"><a id="a56e6ad95e6034b0ab36fbe838a1b4999"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:a56e6ad95e6034b0ab36fbe838a1b4999"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18a309de0ec6a795e6d31969c59ba37d"><td class="memItemLeft" align="right" valign="top"><a id="a18a309de0ec6a795e6d31969c59ba37d"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d">data</a> () noexcept</td></tr>
-<tr class="memdesc:a18a309de0ec6a795e6d31969c59ba37d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
-<tr class="separator:a18a309de0ec6a795e6d31969c59ba37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b43a7fa497d3fccff478f1e1859bbb5"><td class="memItemLeft" align="right" valign="top"><a id="a6b43a7fa497d3fccff478f1e1859bbb5"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5">data</a> () const noexcept</td></tr>
-<tr class="memdesc:a6b43a7fa497d3fccff478f1e1859bbb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
-<tr class="separator:a6b43a7fa497d3fccff478f1e1859bbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adaf1c1f3ed96cae94769b24a19639cba"><td class="memItemLeft" align="right" valign="top"><a id="adaf1c1f3ed96cae94769b24a19639cba"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba">size</a> () const noexcept</td></tr>
-<tr class="memdesc:adaf1c1f3ed96cae94769b24a19639cba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in this buffer. <br /></td></tr>
-<tr class="separator:adaf1c1f3ed96cae94769b24a19639cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3dc3fe4419608ead3c2d067e4b446e23"><td class="memItemLeft" align="right" valign="top"><a id="a3dc3fe4419608ead3c2d067e4b446e23"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23">begin</a> () noexcept</td></tr>
-<tr class="memdesc:a3dc3fe4419608ead3c2d067e4b446e23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:a3dc3fe4419608ead3c2d067e4b446e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad3327f868ebf3022c5b5d703c0013a7c"><td class="memItemLeft" align="right" valign="top"><a id="ad3327f868ebf3022c5b5d703c0013a7c"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c">begin</a> () const noexcept</td></tr>
-<tr class="memdesc:ad3327f868ebf3022c5b5d703c0013a7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:ad3327f868ebf3022c5b5d703c0013a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a008f53151591d2ff9c73e9189d032205"><td class="memItemLeft" align="right" valign="top"><a id="a008f53151591d2ff9c73e9189d032205"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205">cbegin</a> () const noexcept</td></tr>
-<tr class="memdesc:a008f53151591d2ff9c73e9189d032205"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:a008f53151591d2ff9c73e9189d032205"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f1603e3602debd8378c91c5155be6b8"><td class="memItemLeft" align="right" valign="top"><a id="a1f1603e3602debd8378c91c5155be6b8"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8">end</a> () noexcept</td></tr>
-<tr class="memdesc:a1f1603e3602debd8378c91c5155be6b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:a1f1603e3602debd8378c91c5155be6b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5100e74688eab3b0f838686085f71e2"><td class="memItemLeft" align="right" valign="top"><a id="ad5100e74688eab3b0f838686085f71e2"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2">end</a> () const noexcept</td></tr>
-<tr class="memdesc:ad5100e74688eab3b0f838686085f71e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:ad5100e74688eab3b0f838686085f71e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b7778075bc57c224146826fc6624a36"><td class="memItemLeft" align="right" valign="top"><a id="a7b7778075bc57c224146826fc6624a36"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36">cend</a> () const noexcept</td></tr>
-<tr class="memdesc:a7b7778075bc57c224146826fc6624a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:a7b7778075bc57c224146826fc6624a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
-Friends</h2></td></tr>
-<tr class="memitem:ad98caa94c8bc7ca4937acafb4e9dee3d"><td class="memItemLeft" align="right" valign="top"><a id="ad98caa94c8bc7ca4937acafb4e9dee3d"></a>
-constexpr void&#160;</td><td class="memItemRight" valign="bottom"><b>_check_iovec_match</b> ()</td></tr>
-<tr class="separator:ad98caa94c8bc7ca4937acafb4e9dee3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>The scatter buffer type used by this handle. Guaranteed to be <code>TrivialType</code> and <code>StandardLayoutType</code>. Try to make address and length 64 byte, or ideally, <code>page_size()</code> aligned where possible. </p>
-</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.js b/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.js
deleted file mode 100644
index 39a436ad..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1buffer__type.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var structllfio__v2__xxx_1_1io__handle_1_1buffer__type =
-[
- [ "const_iterator", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a831e6eafb28eec4e73765fdfdc8440ed", null ],
- [ "const_pointer", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a014d6325987a0ace31118793956b18c3", null ],
- [ "iterator", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3a52ec7ae245e4056ccec17ecc97d7b5", null ],
- [ "pointer", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ab21685c769dceb48605a50539050c5f2", null ],
- [ "size_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008", null ],
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b", null ],
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db", null ],
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a4dd4efd8203c5e792b1c061f44d2e899", null ],
- [ "buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3f4dde94a96514f8d7fb614bd4cf7080", null ],
- [ "~buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad7075043097404f4ed5c48f38a5f5619", null ],
- [ "begin", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23", null ],
- [ "begin", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c", null ],
- [ "cbegin", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205", null ],
- [ "cend", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36", null ],
- [ "data", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a18a309de0ec6a795e6d31969c59ba37d", null ],
- [ "data", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a6b43a7fa497d3fccff478f1e1859bbb5", null ],
- [ "end", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a1f1603e3602debd8378c91c5155be6b8", null ],
- [ "end", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad5100e74688eab3b0f838686085f71e2", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a56a4646d9e704624bc56c7290f9853b9", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a56e6ad95e6034b0ab36fbe838a1b4999", null ],
- [ "size", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba", null ],
- [ "_check_iovec_match", "structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad98caa94c8bc7ca4937acafb4e9dee3d", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type-members.html b/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type-members.html
deleted file mode 100644
index 1acd6c1c..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type-members.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::const_buffer_type Member List</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>, including all inherited members.</p>
-<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1">begin</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62">begin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2">cbegin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554">cend</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806">const_buffer_type</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e">const_buffer_type</a>(pointer data, size_type len) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce">const_buffer_type</a>(buffer_type b) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b>(const const_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b>(const_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e">const_pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e">data</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b">data</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77">end</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5">end</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const const_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40">size</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">size_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~const_buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">llfio_v2_xxx::io_handle::const_buffer_type</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html b/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html
deleted file mode 100644
index a90f1e1e..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_handle::const_buffer_type Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtreedata.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="header">
- <div class="summary">
-<a href="#pub-types">Public Types</a> &#124;
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::const_buffer_type Struct Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &quot;io_handle.hpp&quot;</code></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:a56b1347a75286b1b21af8082faacabb7"><td class="memItemLeft" align="right" valign="top"><a id="a56b1347a75286b1b21af8082faacabb7"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">pointer</a> = const byte *</td></tr>
-<tr class="memdesc:a56b1347a75286b1b21af8082faacabb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
-<tr class="separator:a56b1347a75286b1b21af8082faacabb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e9b89ea04a36102d5b3ae809a96205e"><td class="memItemLeft" align="right" valign="top"><a id="a7e9b89ea04a36102d5b3ae809a96205e"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e">const_pointer</a> = const byte *</td></tr>
-<tr class="memdesc:a7e9b89ea04a36102d5b3ae809a96205e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
-<tr class="separator:a7e9b89ea04a36102d5b3ae809a96205e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3317755ad6cdbefb40f4e99c9f872ce"><td class="memItemLeft" align="right" valign="top"><a id="aa3317755ad6cdbefb40f4e99c9f872ce"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">iterator</a> = const byte *</td></tr>
-<tr class="memdesc:aa3317755ad6cdbefb40f4e99c9f872ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
-<tr class="separator:aa3317755ad6cdbefb40f4e99c9f872ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7011ff9e31ac4814e8ae45b7b999f249"><td class="memItemLeft" align="right" valign="top"><a id="a7011ff9e31ac4814e8ae45b7b999f249"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a> = const byte *</td></tr>
-<tr class="memdesc:a7011ff9e31ac4814e8ae45b7b999f249"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
-<tr class="separator:a7011ff9e31ac4814e8ae45b7b999f249"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acb6c33db3aabfbf88d5e8f636c8b6dd0"><td class="memItemLeft" align="right" valign="top"><a id="acb6c33db3aabfbf88d5e8f636c8b6dd0"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">size_type</a> = size_t</td></tr>
-<tr class="memdesc:acb6c33db3aabfbf88d5e8f636c8b6dd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the length of memory. <br /></td></tr>
-<tr class="separator:acb6c33db3aabfbf88d5e8f636c8b6dd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:adb471cea17d5f27e64a9ff87a8f12806"><td class="memItemLeft" align="right" valign="top"><a id="adb471cea17d5f27e64a9ff87a8f12806"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806">const_buffer_type</a> ()=default</td></tr>
-<tr class="memdesc:adb471cea17d5f27e64a9ff87a8f12806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
-<tr class="separator:adb471cea17d5f27e64a9ff87a8f12806"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd415552a68aa6df0ec7b3ec4f40f31e"><td class="memItemLeft" align="right" valign="top"><a id="abd415552a68aa6df0ec7b3ec4f40f31e"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e">const_buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">pointer</a> <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e">data</a>, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">size_type</a> len) noexcept</td></tr>
-<tr class="memdesc:abd415552a68aa6df0ec7b3ec4f40f31e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
-<tr class="separator:abd415552a68aa6df0ec7b3ec4f40f31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6110864546f1e887761092fbaf87f4ce"><td class="memItemLeft" align="right" valign="top"><a id="a6110864546f1e887761092fbaf87f4ce"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce">const_buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html">buffer_type</a> b) noexcept</td></tr>
-<tr class="memdesc:a6110864546f1e887761092fbaf87f4ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converting constructor from non-const buffer type. <br /></td></tr>
-<tr class="separator:a6110864546f1e887761092fbaf87f4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a878148d3f298383fbff896590067a3cb"><td class="memItemLeft" align="right" valign="top"><a id="a878148d3f298383fbff896590067a3cb"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;)=default</td></tr>
-<tr class="separator:a878148d3f298383fbff896590067a3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5af7ddbdfaf9eff2fc3d71c1cb5fb5ab"><td class="memItemLeft" align="right" valign="top"><a id="a5af7ddbdfaf9eff2fc3d71c1cb5fb5ab"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:a5af7ddbdfaf9eff2fc3d71c1cb5fb5ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aedcce0152f572813a4045d8b18761364"><td class="memItemLeft" align="right" valign="top"><a id="aedcce0152f572813a4045d8b18761364"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;)=default</td></tr>
-<tr class="separator:aedcce0152f572813a4045d8b18761364"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac007a84fad051c1681ad9c5ab783cfa6"><td class="memItemLeft" align="right" valign="top"><a id="ac007a84fad051c1681ad9c5ab783cfa6"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:ac007a84fad051c1681ad9c5ab783cfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a543a7c6701f1b7f6751b7276a0464f7e"><td class="memItemLeft" align="right" valign="top"><a id="a543a7c6701f1b7f6751b7276a0464f7e"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e">data</a> () noexcept</td></tr>
-<tr class="memdesc:a543a7c6701f1b7f6751b7276a0464f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
-<tr class="separator:a543a7c6701f1b7f6751b7276a0464f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae46a664aab2d198534c2f1df65b46a6b"><td class="memItemLeft" align="right" valign="top"><a id="ae46a664aab2d198534c2f1df65b46a6b"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b">data</a> () const noexcept</td></tr>
-<tr class="memdesc:ae46a664aab2d198534c2f1df65b46a6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
-<tr class="separator:ae46a664aab2d198534c2f1df65b46a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3dadd6b826704451e89cabf1c1305b40"><td class="memItemLeft" align="right" valign="top"><a id="a3dadd6b826704451e89cabf1c1305b40"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40">size</a> () const noexcept</td></tr>
-<tr class="memdesc:a3dadd6b826704451e89cabf1c1305b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in this buffer. <br /></td></tr>
-<tr class="separator:a3dadd6b826704451e89cabf1c1305b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4364d23f0a87200460bf789a4a8580a1"><td class="memItemLeft" align="right" valign="top"><a id="a4364d23f0a87200460bf789a4a8580a1"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1">begin</a> () noexcept</td></tr>
-<tr class="memdesc:a4364d23f0a87200460bf789a4a8580a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:a4364d23f0a87200460bf789a4a8580a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10e6e1e22e4d3996a0a4c39d7b451f62"><td class="memItemLeft" align="right" valign="top"><a id="a10e6e1e22e4d3996a0a4c39d7b451f62"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62">begin</a> () const noexcept</td></tr>
-<tr class="memdesc:a10e6e1e22e4d3996a0a4c39d7b451f62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:a10e6e1e22e4d3996a0a4c39d7b451f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac9763b53c5a059851d0e2e4901cb44b2"><td class="memItemLeft" align="right" valign="top"><a id="ac9763b53c5a059851d0e2e4901cb44b2"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2">cbegin</a> () const noexcept</td></tr>
-<tr class="memdesc:ac9763b53c5a059851d0e2e4901cb44b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
-<tr class="separator:ac9763b53c5a059851d0e2e4901cb44b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a969cebe27482fe7e8060efbc9af3ce77"><td class="memItemLeft" align="right" valign="top"><a id="a969cebe27482fe7e8060efbc9af3ce77"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77">end</a> () noexcept</td></tr>
-<tr class="memdesc:a969cebe27482fe7e8060efbc9af3ce77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:a969cebe27482fe7e8060efbc9af3ce77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0be10ca27a09246c1e22f97fa67a7be5"><td class="memItemLeft" align="right" valign="top"><a id="a0be10ca27a09246c1e22f97fa67a7be5"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5">end</a> () const noexcept</td></tr>
-<tr class="memdesc:a0be10ca27a09246c1e22f97fa67a7be5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:a0be10ca27a09246c1e22f97fa67a7be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a94bef1f3da434964f250f70721b96554"><td class="memItemLeft" align="right" valign="top"><a id="a94bef1f3da434964f250f70721b96554"></a>
-constexpr <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554">cend</a> () const noexcept</td></tr>
-<tr class="memdesc:a94bef1f3da434964f250f70721b96554"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
-<tr class="separator:a94bef1f3da434964f250f70721b96554"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>The gather buffer type used by this handle. Guaranteed to be <code>TrivialType</code> and <code>StandardLayoutType</code>. Try to make address and length 64 byte, or ideally, <code>page_size()</code> aligned where possible. </p>
-</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
-</div>
-</body>
-</html>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.js b/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.js
deleted file mode 100644
index dc039352..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type =
-[
- [ "const_iterator", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7011ff9e31ac4814e8ae45b7b999f249", null ],
- [ "const_pointer", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a7e9b89ea04a36102d5b3ae809a96205e", null ],
- [ "iterator", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa3317755ad6cdbefb40f4e99c9f872ce", null ],
- [ "pointer", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a56b1347a75286b1b21af8082faacabb7", null ],
- [ "size_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0", null ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806", null ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e", null ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a6110864546f1e887761092fbaf87f4ce", null ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a878148d3f298383fbff896590067a3cb", null ],
- [ "const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a5af7ddbdfaf9eff2fc3d71c1cb5fb5ab", null ],
- [ "~const_buffer_type", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aa9f33c81f645130d3aa3b66dded241b1", null ],
- [ "begin", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1", null ],
- [ "begin", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62", null ],
- [ "cbegin", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2", null ],
- [ "cend", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554", null ],
- [ "data", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a543a7c6701f1b7f6751b7276a0464f7e", null ],
- [ "data", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ae46a664aab2d198534c2f1df65b46a6b", null ],
- [ "end", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a969cebe27482fe7e8060efbc9af3ce77", null ],
- [ "end", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a0be10ca27a09246c1e22f97fa67a7be5", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#aedcce0152f572813a4045d8b18761364", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac007a84fad051c1681ad9c5ab783cfa6", null ],
- [ "size", "structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__request.js b/structllfio__v2__xxx_1_1io__handle_1_1io__request.js
deleted file mode 100644
index c130d77f..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__request.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var structllfio__v2__xxx_1_1io__handle_1_1io__request =
-[
- [ "io_request", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a937bb57c341897ce6434e75a34e324cc", null ],
- [ "io_request", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a20032ac44283d6cd752da0db53229f53", null ],
- [ "buffers", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a5bf8e3905f91fb5455088bdbc4cffb33", null ],
- [ "offset", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html#a185c78f884dd4ca0cd2fe49916903dae", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result.js b/structllfio__v2__xxx_1_1io__handle_1_1io__result.js
deleted file mode 100644
index a42955fb..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var structllfio__v2__xxx_1_1io__handle_1_1io__result =
-[
- [ "Base", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#acc75d0f4c3003db5eed4d6ef1122e77a", null ],
- [ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a80942d3d1854695f772ec4b12962aa63", null ],
- [ "~io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ae49f06f0a4b9f268b413181ccf75fd8f", null ],
- [ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a90bee69c746e646458e0d255ce18668d", null ],
- [ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#aea1d610bc13166971300720b194feb64", null ],
- [ "bytes_transferred", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ab4cec8941a442e257aab1f0fd615a8a3", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18", null ],
- [ "_bytes_transferred", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a458ac6f7315d452180e7ed89f9ceba83", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result.png b/structllfio__v2__xxx_1_1io__handle_1_1io__result.png
deleted file mode 100644
index 064aeabf..00000000
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.png
+++ /dev/null
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type-members.html
new file mode 100644
index 00000000..6a8425f5
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_registered_buffer_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_registered_buffer_type</b>(span&lt; byte &gt; o) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_registered_buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_registered_buffer_type</b>(const _registered_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_registered_buffer_type</b>(_registered_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const _registered_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(_registered_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~_registered_buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">llfio_v2_xxx::io_multiplexer::_registered_buffer_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html
new file mode 100644
index 00000000..e09c3f4f
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_registered_buffer_type Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_registered_buffer_type Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::_registered_buffer_type:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.png" alt=""/>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7f70cec2726b0e14adac63adcf19ec70"><td class="memItemLeft" align="right" valign="top"><a id="a7f70cec2726b0e14adac63adcf19ec70"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_registered_buffer_type</b> (span&lt; byte &gt; o)</td></tr>
+<tr class="separator:a7f70cec2726b0e14adac63adcf19ec70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f83493af2a5907857a7e317af16a4fd"><td class="memItemLeft" align="right" valign="top"><a id="a5f83493af2a5907857a7e317af16a4fd"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_registered_buffer_type</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:a5f83493af2a5907857a7e317af16a4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35c0ef6095a3ffbd705479ae37a7dd36"><td class="memItemLeft" align="right" valign="top"><a id="a35c0ef6095a3ffbd705479ae37a7dd36"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_registered_buffer_type</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a35c0ef6095a3ffbd705479ae37a7dd36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ce78e519cd37cd21567ebe5942c4fc8"><td class="memItemLeft" align="right" valign="top"><a id="a2ce78e519cd37cd21567ebe5942c4fc8"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:a2ce78e519cd37cd21567ebe5942c4fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0bf8e7e6304e348e363a471b3655efb"><td class="memItemLeft" align="right" valign="top"><a id="ae0bf8e7e6304e348e363a471b3655efb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:ae0bf8e7e6304e348e363a471b3655efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html">_registered_buffer_type</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.js
new file mode 100644
index 00000000..82543e08
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.js
@@ -0,0 +1,10 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type =
+[
+ [ "_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a7f70cec2726b0e14adac63adcf19ec70", null ],
+ [ "_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a9ebd3fa93ce0fa3dc1f05ce72d11b70e", null ],
+ [ "_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a5f83493af2a5907857a7e317af16a4fd", null ],
+ [ "_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a35c0ef6095a3ffbd705479ae37a7dd36", null ],
+ [ "~_registered_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a58ba434d7493741fe6fdf5249ef110c7", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#ae0bf8e7e6304e348e363a471b3655efb", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.html#a2ce78e519cd37cd21567ebe5942c4fc8", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.png
new file mode 100644
index 00000000..50b596ce
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__registered__buffer__type.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html
new file mode 100644
index 00000000..5d5f11aa
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_barrier_completed</b>(lock_guard &amp;g, io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_barrier_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_lock</b>() noexcept override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_lock_</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_read_completed</b>(lock_guard &amp;g, io_result&lt; buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_read_finished</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_read_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_synchronised_io_operation_state</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_synchronised_io_operation_state</b>(const _synchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_synchronised_io_operation_state</b>(_synchronised_io_operation_state &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unlock</b>() noexcept override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147">_unsynchronised_io_operation_state</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">_unsynchronised_io_operation_state</a>(io_result&lt; buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">_unsynchronised_io_operation_state</a>(io_result&lt; const_buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_unsynchronised_io_operation_state</b>(const _unsynchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unsynchronised_io_operation_state</b>(_unsynchronised_io_operation_state &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state</a>(io_result&lt; buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::_unsynchronised_io_operation_state</a>(io_result&lt; const_buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unsynchronised_io_operation_state</b>(const _unsynchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_unsynchronised_io_operation_state</b>(_unsynchronised_io_operation_state &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_write_completed</b>(lock_guard &amp;g, io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_write_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_write_or_barrier_finished</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_completed</b>(io_result&lt; const_buffers_type &gt; &amp;&amp;res) override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier_initiated</b>() override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">clear_storage</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35">current_state</a>() const noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd">get_completed_read</a>() &amp;&amp;noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628">get_completed_write_or_barrier</a>() &amp;&amp;noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb">invoke</a>(function_ptr&lt; void *(io_operation_state_type)&gt; c) const noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_operation_state</b>(io_handle *_h, io_operation_state_visitor *_visitor) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const _unsynchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(_unsynchronised_io_operation_state &amp;&amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>payload</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read_completed</b>(io_result&lt; buffers_type &gt; &amp;&amp;res) override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read_finished</b>() override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read_initiated</b>() override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">relocate_to</a>(byte *to_) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">state</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_completed</b>(io_result&lt; const_buffers_type &gt; &amp;&amp;res) override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write_initiated</b>() override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_or_barrier_finished</b>() override (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~_unsynchronised_io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html
new file mode 100644
index 00000000..dcaa8f02
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A synchronised i/o operation state.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map">
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html" title="An unsynchronised i/o operation state." alt="llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state" shape="rect" coords="0,56,374,80"/>
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html" title="An interface to a state for an i/o operation scheduled against an i/o multiplexer." alt="llfio_v2_xxx::io_multiplexer::io_operation_state" shape="rect" coords="0,0,374,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acd0454f68047ee21a2b850c04bf2a205"><td class="memItemLeft" align="right" valign="top"><a id="acd0454f68047ee21a2b850c04bf2a205"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_synchronised_io_operation_state</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a> &amp;)=delete</td></tr>
+<tr class="separator:acd0454f68047ee21a2b850c04bf2a205"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35a53901388d65e5cce777866eed6e35"><td class="memItemLeft" align="right" valign="top"><a id="a35a53901388d65e5cce777866eed6e35"></a>
+virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35">current_state</a> () const noexcept override</td></tr>
+<tr class="memdesc:a35a53901388d65e5cce777866eed6e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the current state of the i/o operation. <br /></td></tr>
+<tr class="separator:a35a53901388d65e5cce777866eed6e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dcb0935460499f66478801be21526dd"><td class="memItemLeft" align="right" valign="top"><a id="a7dcb0935460499f66478801be21526dd"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd">get_completed_read</a> () &amp;&amp;noexcept override</td></tr>
+<tr class="memdesc:a7dcb0935460499f66478801be21526dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:a7dcb0935460499f66478801be21526dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3759c7d7f001e6d632687ea00f70628"><td class="memItemLeft" align="right" valign="top"><a id="aa3759c7d7f001e6d632687ea00f70628"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628">get_completed_write_or_barrier</a> () &amp;&amp;noexcept override</td></tr>
+<tr class="memdesc:aa3759c7d7f001e6d632687ea00f70628"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:aa3759c7d7f001e6d632687ea00f70628"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="memItemLeft" align="right" valign="top"><a id="ab3f7cf60400ed6ae7032bd43c6d50feb"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb">invoke</a> (function_ptr&lt; void *(<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)&gt; c) const noexcept override</td></tr>
+<tr class="memdesc:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the callable with the per-i/o state lock held, if any. <br /></td></tr>
+<tr class="separator:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b082db9550619210e18d41c43a401c6"><td class="memItemLeft" align="right" valign="top"><a id="a9b082db9550619210e18d41c43a401c6"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_initiated</b> () override</td></tr>
+<tr class="separator:a9b082db9550619210e18d41c43a401c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad91b80c9cdb74d93aa86984f9b05a8c8"><td class="memItemLeft" align="right" valign="top"><a id="ad91b80c9cdb74d93aa86984f9b05a8c8"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
+<tr class="separator:ad91b80c9cdb74d93aa86984f9b05a8c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae00a5e9ca83a6e6dd499e21b2de41a33"><td class="memItemLeft" align="right" valign="top"><a id="ae00a5e9ca83a6e6dd499e21b2de41a33"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_finished</b> () override</td></tr>
+<tr class="separator:ae00a5e9ca83a6e6dd499e21b2de41a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fcec51351c69f0888b64c2097505644"><td class="memItemLeft" align="right" valign="top"><a id="a3fcec51351c69f0888b64c2097505644"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_initiated</b> () override</td></tr>
+<tr class="separator:a3fcec51351c69f0888b64c2097505644"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01bf271bda674c78f92c0daeb3be1255"><td class="memItemLeft" align="right" valign="top"><a id="a01bf271bda674c78f92c0daeb3be1255"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
+<tr class="separator:a01bf271bda674c78f92c0daeb3be1255"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02bad6faca4d518018a70fc53ebe351c"><td class="memItemLeft" align="right" valign="top"><a id="a02bad6faca4d518018a70fc53ebe351c"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_initiated</b> () override</td></tr>
+<tr class="separator:a02bad6faca4d518018a70fc53ebe351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f022c352c9b8b903a72b2167df83268"><td class="memItemLeft" align="right" valign="top"><a id="a6f022c352c9b8b903a72b2167df83268"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
+<tr class="separator:a6f022c352c9b8b903a72b2167df83268"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a321145a18f5f85416e41087a1dcc3a25"><td class="memItemLeft" align="right" valign="top"><a id="a321145a18f5f85416e41087a1dcc3a25"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_or_barrier_finished</b> () override</td></tr>
+<tr class="separator:a321145a18f5f85416e41087a1dcc3a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac059f1ac51373dc506a7998fcf0b7147"><td class="memItemLeft" align="right" valign="top"><a id="ac059f1ac51373dc506a7998fcf0b7147"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147">_unsynchronised_io_operation_state</a> ()</td></tr>
+<tr class="memdesc:ac059f1ac51373dc506a7998fcf0b7147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an unknown state. <br /></td></tr>
+<tr class="separator:ac059f1ac51373dc506a7998fcf0b7147"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memItemLeft" align="right" valign="top"><a id="a3bd5f8aa3fff63f40b7280987e9e92f1"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
+<tr class="memdesc:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a read operation state. <br /></td></tr>
+<tr class="separator:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72236e836e8d931921eed3969aee19e4"><td class="memItemLeft" align="right" valign="top"><a id="a72236e836e8d931921eed3969aee19e4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
+<tr class="memdesc:a72236e836e8d931921eed3969aee19e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a write operation state. <br /></td></tr>
+<tr class="separator:a72236e836e8d931921eed3969aee19e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memItemLeft" align="right" valign="top"><a id="a3b5ca94b944cff01b36d4d85dcaf0975"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
+<tr class="memdesc:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a barrier operation state. <br /></td></tr>
+<tr class="separator:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6121c00e99a0f542a3a3dd7948e70385"><td class="memItemLeft" align="right" valign="top"><a id="a6121c00e99a0f542a3a3dd7948e70385"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="memdesc:a6121c00e99a0f542a3a3dd7948e70385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished read operation state. <br /></td></tr>
+<tr class="separator:a6121c00e99a0f542a3a3dd7948e70385"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memItemLeft" align="right" valign="top"><a id="a15ba07e7c8a65bd0e68b66a246341fef"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="memdesc:a15ba07e7c8a65bd0e68b66a246341fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished write or barrier operation state. <br /></td></tr>
+<tr class="separator:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memItemLeft" align="right" valign="top"><a id="a4bb3966e906c5fb81cfa50244a8b7a8b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;)=delete</td></tr>
+<tr class="separator:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a3379a6af67a1656a2ee2f20058f847"><td class="memItemLeft" align="right" valign="top"><a id="a8a3379a6af67a1656a2ee2f20058f847"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a8a3379a6af67a1656a2ee2f20058f847"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memItemLeft" align="right" valign="top"><a id="ad4eb0fe836f3853d4498a2e1f3f84a98"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">clear_storage</a> ()</td></tr>
+<tr class="memdesc:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to clear the storage in this operation state. <br /></td></tr>
+<tr class="separator:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58c5c78ce0aec95c010146024584ddcd"><td class="memItemLeft" align="right" valign="top"><a id="a58c5c78ce0aec95c010146024584ddcd"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">relocate_to</a> (byte *to_) noexcept override</td></tr>
+<tr class="memdesc:a58c5c78ce0aec95c010146024584ddcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relocate the state to new storage, clearing the original state. Terminates the process if the state is in use. <br /></td></tr>
+<tr class="separator:a58c5c78ce0aec95c010146024584ddcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa302f3e0b65077bc3721db595f6acb98"><td class="memItemLeft" align="right" valign="top"><a id="aa302f3e0b65077bc3721db595f6acb98"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:aa302f3e0b65077bc3721db595f6acb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addd6076ed27d82c3614930d4524935b8"><td class="memItemLeft" align="right" valign="top"><a id="addd6076ed27d82c3614930d4524935b8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:addd6076ed27d82c3614930d4524935b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac363efe90328c9a7790d94c249a78f6b"><td class="memItemLeft" align="right" valign="top"><a id="ac363efe90328c9a7790d94c249a78f6b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:ac363efe90328c9a7790d94c249a78f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad1ee50a73100f34335b64de59d94214"><td class="memItemLeft" align="right" valign="top"><a id="aad1ee50a73100f34335b64de59d94214"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:aad1ee50a73100f34335b64de59d94214"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa08fb625c75115401d281b61a83b8beb"><td class="memItemLeft" align="right" valign="top"><a id="aa08fb625c75115401d281b61a83b8beb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:aa08fb625c75115401d281b61a83b8beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14859e2590300a009a7edddb82d6f035"><td class="memItemLeft" align="right" valign="top"><a id="a14859e2590300a009a7edddb82d6f035"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:a14859e2590300a009a7edddb82d6f035"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b3c0981c57dc979e239e48742b30b6"><td class="memItemLeft" align="right" valign="top"><a id="a69b3c0981c57dc979e239e48742b30b6"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a69b3c0981c57dc979e239e48742b30b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memItemLeft" align="right" valign="top"><a id="a9b3e1a73a321f965ee0d60deeebd2e62"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_or_barrier_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:af4cb1c032dcf9d7bc390e116e0d28094"><td class="memItemLeft" align="right" valign="top"><a id="af4cb1c032dcf9d7bc390e116e0d28094"></a>
+spinlock&#160;</td><td class="memItemRight" valign="bottom"><b>_lock_</b></td></tr>
+<tr class="separator:af4cb1c032dcf9d7bc390e116e0d28094"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memItemLeft" align="right" valign="top"><a id="aa41379b452b50f267639b8d2ebbbdfa4"></a>
+<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">state</a> {io_operation_state_type::unknown}</td></tr>
+<tr class="memdesc:aa41379b452b50f267639b8d2ebbbdfa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current lifecycle state of this i/o operation. <br /></td></tr>
+<tr class="separator:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memItemLeft" align="right" valign="top"><a id="acda4e1f8e7713fb5a0c5e1cffbb8dcac"></a>
+union <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>payload</b></td></tr>
+<tr class="separator:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memItemLeft" align="right" valign="top"><a id="aa0ea732afb9aed27c04d6f333ed815ae"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a> {nullptr}</td></tr>
+<tr class="memdesc:aa0ea732afb9aed27c04d6f333ed815ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle the i/o operation is upon. <br /></td></tr>
+<tr class="separator:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a648d87148f5a16587c9f9c2a5663e20c"><td class="memItemLeft" align="right" valign="top"><a id="a648d87148f5a16587c9f9c2a5663e20c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a> {nullptr}</td></tr>
+<tr class="memdesc:a648d87148f5a16587c9f9c2a5663e20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state visitor supplied when the operation was initialised. <br /></td></tr>
+<tr class="separator:a648d87148f5a16587c9f9c2a5663e20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a628376450957f45e09e967f06942ca31"><td class="memItemLeft" align="right" valign="top"><a id="a628376450957f45e09e967f06942ca31"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_synchronised_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a628376450957f45e09e967f06942ca31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a756cd8d29107f09c35becc49077279de"><td class="memItemLeft" align="right" valign="top"><a id="a756cd8d29107f09c35becc49077279de"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_lock</b> () noexcept override</td></tr>
+<tr class="separator:a756cd8d29107f09c35becc49077279de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abab4b9301e4e4bbf8b24e3769cd5bb1d"><td class="memItemLeft" align="right" valign="top"><a id="abab4b9301e4e4bbf8b24e3769cd5bb1d"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_unlock</b> () noexcept override</td></tr>
+<tr class="separator:abab4b9301e4e4bbf8b24e3769cd5bb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A synchronised i/o operation state. </p>
+<p>This implementation uses an atomic to synchronise access during the <code>*_completed()</code>, <code>*_finished()</code> and <code>current_state()</code> member functions, thus making it suitable for use across threads. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.js
new file mode 100644
index 00000000..e26164d7
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.js
@@ -0,0 +1,43 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state =
+[
+ [ "_synchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a8d3c3ea42249e49552a991a1a2603587", null ],
+ [ "_synchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#acd0454f68047ee21a2b850c04bf2a205", null ],
+ [ "_synchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a628376450957f45e09e967f06942ca31", null ],
+ [ "_barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a69b3c0981c57dc979e239e48742b30b6", null ],
+ [ "_barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a14859e2590300a009a7edddb82d6f035", null ],
+ [ "_lock", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a756cd8d29107f09c35becc49077279de", null ],
+ [ "_read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#addd6076ed27d82c3614930d4524935b8", null ],
+ [ "_read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac363efe90328c9a7790d94c249a78f6b", null ],
+ [ "_read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa302f3e0b65077bc3721db595f6acb98", null ],
+ [ "_unlock", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#abab4b9301e4e4bbf8b24e3769cd5bb1d", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a8a3379a6af67a1656a2ee2f20058f847", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a4bb3966e906c5fb81cfa50244a8b7a8b", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef", null ],
+ [ "_write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa08fb625c75115401d281b61a83b8beb", null ],
+ [ "_write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aad1ee50a73100f34335b64de59d94214", null ],
+ [ "_write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a9b3e1a73a321f965ee0d60deeebd2e62", null ],
+ [ "barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6f022c352c9b8b903a72b2167df83268", null ],
+ [ "barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a02bad6faca4d518018a70fc53ebe351c", null ],
+ [ "clear_storage", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98", null ],
+ [ "current_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35", null ],
+ [ "get_completed_read", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd", null ],
+ [ "get_completed_write_or_barrier", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628", null ],
+ [ "invoke", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb", null ],
+ [ "read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ad91b80c9cdb74d93aa86984f9b05a8c8", null ],
+ [ "read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ae00a5e9ca83a6e6dd499e21b2de41a33", null ],
+ [ "read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a9b082db9550619210e18d41c43a401c6", null ],
+ [ "relocate_to", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd", null ],
+ [ "write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a01bf271bda674c78f92c0daeb3be1255", null ],
+ [ "write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3fcec51351c69f0888b64c2097505644", null ],
+ [ "write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a321145a18f5f85416e41087a1dcc3a25", null ],
+ [ "_lock_", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#af4cb1c032dcf9d7bc390e116e0d28094", null ],
+ [ "h", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae", null ],
+ [ "payload", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#acda4e1f8e7713fb5a0c5e1cffbb8dcac", null ],
+ [ "state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4", null ],
+ [ "visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.png
new file mode 100644
index 00000000..43f6b245
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state-members.html
new file mode 100644
index 00000000..cf511e51
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state-members.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_barrier_completed</b>(lock_guard &amp;g, io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_barrier_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_lock</b>() noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_read_completed</b>(lock_guard &amp;g, io_result&lt; buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_read_finished</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_read_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unlock</b>() noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147">_unsynchronised_io_operation_state</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">_unsynchronised_io_operation_state</a>(io_handle *_h, io_operation_state_visitor *_v, registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">_unsynchronised_io_operation_state</a>(io_result&lt; buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">_unsynchronised_io_operation_state</a>(io_result&lt; const_buffers_type &gt; &amp;&amp;res)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_unsynchronised_io_operation_state</b>(const _unsynchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_unsynchronised_io_operation_state</b>(_unsynchronised_io_operation_state &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_write_completed</b>(lock_guard &amp;g, io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_write_initiated</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_write_or_barrier_finished</b>(lock_guard &amp;g) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier_completed</b>(io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier_initiated</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">clear_storage</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42">current_state</a>() const noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367">get_completed_read</a>() &amp;&amp;noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0">get_completed_write_or_barrier</a>() &amp;&amp;noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187">invoke</a>(function_ptr&lt; void *(io_operation_state_type)&gt; c) const noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_operation_state</b>(io_handle *_h, io_operation_state_visitor *_visitor) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const _unsynchronised_io_operation_state &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(_unsynchronised_io_operation_state &amp;&amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>payload</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read_completed</b>(io_result&lt; buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read_finished</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>read_initiated</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">relocate_to</a>(byte *to_) noexcept override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">state</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write_completed</b>(io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write_initiated</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write_or_barrier_finished</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~_unsynchronised_io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html
new file mode 100644
index 00000000..5e03394a
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An unsynchronised i/o operation state.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Funsynchronised_5Fio_5Foperation_5Fstate_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Funsynchronised_5Fio_5Foperation_5Fstate_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Funsynchronised_5Fio_5Foperation_5Fstate_map">
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html" title="An interface to a state for an i/o operation scheduled against an i/o multiplexer." alt="llfio_v2_xxx::io_multiplexer::io_operation_state" shape="rect" coords="0,0,374,24"/>
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html" title="A synchronised i/o operation state." alt="llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state" shape="rect" coords="0,112,374,136"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant storage. <a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac059f1ac51373dc506a7998fcf0b7147"><td class="memItemLeft" align="right" valign="top"><a id="ac059f1ac51373dc506a7998fcf0b7147"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147">_unsynchronised_io_operation_state</a> ()</td></tr>
+<tr class="memdesc:ac059f1ac51373dc506a7998fcf0b7147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an unknown state. <br /></td></tr>
+<tr class="separator:ac059f1ac51373dc506a7998fcf0b7147"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memItemLeft" align="right" valign="top"><a id="a3bd5f8aa3fff63f40b7280987e9e92f1"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
+<tr class="memdesc:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a read operation state. <br /></td></tr>
+<tr class="separator:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a72236e836e8d931921eed3969aee19e4"><td class="memItemLeft" align="right" valign="top"><a id="a72236e836e8d931921eed3969aee19e4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
+<tr class="memdesc:a72236e836e8d931921eed3969aee19e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a write operation state. <br /></td></tr>
+<tr class="separator:a72236e836e8d931921eed3969aee19e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memItemLeft" align="right" valign="top"><a id="a3b5ca94b944cff01b36d4d85dcaf0975"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
+<tr class="memdesc:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a barrier operation state. <br /></td></tr>
+<tr class="separator:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6121c00e99a0f542a3a3dd7948e70385"><td class="memItemLeft" align="right" valign="top"><a id="a6121c00e99a0f542a3a3dd7948e70385"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="memdesc:a6121c00e99a0f542a3a3dd7948e70385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished read operation state. <br /></td></tr>
+<tr class="separator:a6121c00e99a0f542a3a3dd7948e70385"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memItemLeft" align="right" valign="top"><a id="a15ba07e7c8a65bd0e68b66a246341fef"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="memdesc:a15ba07e7c8a65bd0e68b66a246341fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished write or barrier operation state. <br /></td></tr>
+<tr class="separator:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memItemLeft" align="right" valign="top"><a id="a4bb3966e906c5fb81cfa50244a8b7a8b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;)=delete</td></tr>
+<tr class="separator:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e7578c0eb50a0758a51d6eeb5855d56"><td class="memItemLeft" align="right" valign="top"><a id="a0e7578c0eb50a0758a51d6eeb5855d56"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;)=delete</td></tr>
+<tr class="separator:a0e7578c0eb50a0758a51d6eeb5855d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33dd639809167638c5ff88876ce6704e"><td class="memItemLeft" align="right" valign="top"><a id="a33dd639809167638c5ff88876ce6704e"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&amp;)=delete</td></tr>
+<tr class="separator:a33dd639809167638c5ff88876ce6704e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memItemLeft" align="right" valign="top"><a id="ad4eb0fe836f3853d4498a2e1f3f84a98"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">clear_storage</a> ()</td></tr>
+<tr class="memdesc:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to clear the storage in this operation state. <br /></td></tr>
+<tr class="separator:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eac689d1ad153296e6a4a49f1ab0187"><td class="memItemLeft" align="right" valign="top"><a id="a6eac689d1ad153296e6a4a49f1ab0187"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187">invoke</a> (function_ptr&lt; void *(<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)&gt; c) const noexcept override</td></tr>
+<tr class="memdesc:a6eac689d1ad153296e6a4a49f1ab0187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the callable with the per-i/o state lock held, if any. <br /></td></tr>
+<tr class="separator:a6eac689d1ad153296e6a4a49f1ab0187"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a198468a39c9d472204cca865f0024c42"><td class="memItemLeft" align="right" valign="top"><a id="a198468a39c9d472204cca865f0024c42"></a>
+virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42">current_state</a> () const noexcept override</td></tr>
+<tr class="memdesc:a198468a39c9d472204cca865f0024c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the current state of the i/o operation. <br /></td></tr>
+<tr class="separator:a198468a39c9d472204cca865f0024c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9592253b7b44a733a5e1055f6ce7c367"><td class="memItemLeft" align="right" valign="top"><a id="a9592253b7b44a733a5e1055f6ce7c367"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367">get_completed_read</a> () &amp;&amp;noexcept override</td></tr>
+<tr class="memdesc:a9592253b7b44a733a5e1055f6ce7c367"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:a9592253b7b44a733a5e1055f6ce7c367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c5cddbf8ac82a21701f314a772187e0"><td class="memItemLeft" align="right" valign="top"><a id="a2c5cddbf8ac82a21701f314a772187e0"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0">get_completed_write_or_barrier</a> () &amp;&amp;noexcept override</td></tr>
+<tr class="memdesc:a2c5cddbf8ac82a21701f314a772187e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:a2c5cddbf8ac82a21701f314a772187e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58c5c78ce0aec95c010146024584ddcd"><td class="memItemLeft" align="right" valign="top"><a id="a58c5c78ce0aec95c010146024584ddcd"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">relocate_to</a> (byte *to_) noexcept override</td></tr>
+<tr class="memdesc:a58c5c78ce0aec95c010146024584ddcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relocate the state to new storage, clearing the original state. Terminates the process if the state is in use. <br /></td></tr>
+<tr class="separator:a58c5c78ce0aec95c010146024584ddcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa302f3e0b65077bc3721db595f6acb98"><td class="memItemLeft" align="right" valign="top"><a id="aa302f3e0b65077bc3721db595f6acb98"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:aa302f3e0b65077bc3721db595f6acb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addd6076ed27d82c3614930d4524935b8"><td class="memItemLeft" align="right" valign="top"><a id="addd6076ed27d82c3614930d4524935b8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:addd6076ed27d82c3614930d4524935b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac363efe90328c9a7790d94c249a78f6b"><td class="memItemLeft" align="right" valign="top"><a id="ac363efe90328c9a7790d94c249a78f6b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:ac363efe90328c9a7790d94c249a78f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad1ee50a73100f34335b64de59d94214"><td class="memItemLeft" align="right" valign="top"><a id="aad1ee50a73100f34335b64de59d94214"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:aad1ee50a73100f34335b64de59d94214"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa08fb625c75115401d281b61a83b8beb"><td class="memItemLeft" align="right" valign="top"><a id="aa08fb625c75115401d281b61a83b8beb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:aa08fb625c75115401d281b61a83b8beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14859e2590300a009a7edddb82d6f035"><td class="memItemLeft" align="right" valign="top"><a id="a14859e2590300a009a7edddb82d6f035"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:a14859e2590300a009a7edddb82d6f035"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69b3c0981c57dc979e239e48742b30b6"><td class="memItemLeft" align="right" valign="top"><a id="a69b3c0981c57dc979e239e48742b30b6"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a69b3c0981c57dc979e239e48742b30b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memItemLeft" align="right" valign="top"><a id="a9b3e1a73a321f965ee0d60deeebd2e62"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_or_barrier_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
+<tr class="separator:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a726f236aee993a04e1088e927cb7dd22"><td class="memItemLeft" align="right" valign="top"><a id="a726f236aee993a04e1088e927cb7dd22"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_initiated</b> ()</td></tr>
+<tr class="separator:a726f236aee993a04e1088e927cb7dd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25b833d23952b4f790d852ca67bf2498"><td class="memItemLeft" align="right" valign="top"><a id="a25b833d23952b4f790d852ca67bf2498"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a25b833d23952b4f790d852ca67bf2498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a040be822742b91e92faf58626d9f315b"><td class="memItemLeft" align="right" valign="top"><a id="a040be822742b91e92faf58626d9f315b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_finished</b> ()</td></tr>
+<tr class="separator:a040be822742b91e92faf58626d9f315b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e74f943b29d8de7889cc3ebfda7a3d2"><td class="memItemLeft" align="right" valign="top"><a id="a8e74f943b29d8de7889cc3ebfda7a3d2"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_initiated</b> ()</td></tr>
+<tr class="separator:a8e74f943b29d8de7889cc3ebfda7a3d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84cd5ea7fe3d85bc70ac4d9a495fe3a1"><td class="memItemLeft" align="right" valign="top"><a id="a84cd5ea7fe3d85bc70ac4d9a495fe3a1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a84cd5ea7fe3d85bc70ac4d9a495fe3a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad0107b8c14a99e3dc26c54ba862b46e"><td class="memItemLeft" align="right" valign="top"><a id="aad0107b8c14a99e3dc26c54ba862b46e"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_initiated</b> ()</td></tr>
+<tr class="separator:aad0107b8c14a99e3dc26c54ba862b46e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e19333dfa7de8cd69b17e8cb8ddc32f"><td class="memItemLeft" align="right" valign="top"><a id="a4e19333dfa7de8cd69b17e8cb8ddc32f"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a4e19333dfa7de8cd69b17e8cb8ddc32f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74d73db18493334a0b771bb394d83b59"><td class="memItemLeft" align="right" valign="top"><a id="a74d73db18493334a0b771bb394d83b59"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_or_barrier_finished</b> ()</td></tr>
+<tr class="separator:a74d73db18493334a0b771bb394d83b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memItemLeft" align="right" valign="top"><a id="aa41379b452b50f267639b8d2ebbbdfa4"></a>
+<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">state</a> {io_operation_state_type::unknown}</td></tr>
+<tr class="memdesc:aa41379b452b50f267639b8d2ebbbdfa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current lifecycle state of this i/o operation. <br /></td></tr>
+<tr class="separator:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memItemLeft" align="right" valign="top"><a id="acda4e1f8e7713fb5a0c5e1cffbb8dcac"></a>
+union <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>payload</b></td></tr>
+<tr class="separator:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memItemLeft" align="right" valign="top"><a id="aa0ea732afb9aed27c04d6f333ed815ae"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a> {nullptr}</td></tr>
+<tr class="memdesc:aa0ea732afb9aed27c04d6f333ed815ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle the i/o operation is upon. <br /></td></tr>
+<tr class="separator:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a648d87148f5a16587c9f9c2a5663e20c"><td class="memItemLeft" align="right" valign="top"><a id="a648d87148f5a16587c9f9c2a5663e20c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a> {nullptr}</td></tr>
+<tr class="memdesc:a648d87148f5a16587c9f9c2a5663e20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state visitor supplied when the operation was initialised. <br /></td></tr>
+<tr class="separator:a648d87148f5a16587c9f9c2a5663e20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a8a3379a6af67a1656a2ee2f20058f847"><td class="memItemLeft" align="right" valign="top"><a id="a8a3379a6af67a1656a2ee2f20058f847"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a8a3379a6af67a1656a2ee2f20058f847"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01b43e5fc4b158b62f809eb7974bc9b6"><td class="memItemLeft" align="right" valign="top"><a id="a01b43e5fc4b158b62f809eb7974bc9b6"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_lock</b> () noexcept</td></tr>
+<tr class="separator:a01b43e5fc4b158b62f809eb7974bc9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84e74147ea57e8276546fb28cb0a20c7"><td class="memItemLeft" align="right" valign="top"><a id="a84e74147ea57e8276546fb28cb0a20c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_unlock</b> () noexcept</td></tr>
+<tr class="separator:a84e74147ea57e8276546fb28cb0a20c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An unsynchronised i/o operation state. </p>
+<p>This implementation does NOT use atomics during access. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.js
new file mode 100644
index 00000000..0b2048a7
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.js
@@ -0,0 +1,43 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state =
+[
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t" ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a4bb3966e906c5fb81cfa50244a8b7a8b", null ],
+ [ "_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a8a3379a6af67a1656a2ee2f20058f847", null ],
+ [ "~_unsynchronised_io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a20b4d5b23f288f9174e723f314adb298", null ],
+ [ "_barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a69b3c0981c57dc979e239e48742b30b6", null ],
+ [ "_barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a14859e2590300a009a7edddb82d6f035", null ],
+ [ "_lock", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a01b43e5fc4b158b62f809eb7974bc9b6", null ],
+ [ "_read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#addd6076ed27d82c3614930d4524935b8", null ],
+ [ "_read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ac363efe90328c9a7790d94c249a78f6b", null ],
+ [ "_read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa302f3e0b65077bc3721db595f6acb98", null ],
+ [ "_unlock", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a84e74147ea57e8276546fb28cb0a20c7", null ],
+ [ "_write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa08fb625c75115401d281b61a83b8beb", null ],
+ [ "_write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aad1ee50a73100f34335b64de59d94214", null ],
+ [ "_write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9b3e1a73a321f965ee0d60deeebd2e62", null ],
+ [ "barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a4e19333dfa7de8cd69b17e8cb8ddc32f", null ],
+ [ "barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aad0107b8c14a99e3dc26c54ba862b46e", null ],
+ [ "clear_storage", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98", null ],
+ [ "current_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a198468a39c9d472204cca865f0024c42", null ],
+ [ "get_completed_read", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a9592253b7b44a733a5e1055f6ce7c367", null ],
+ [ "get_completed_write_or_barrier", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a2c5cddbf8ac82a21701f314a772187e0", null ],
+ [ "invoke", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a6eac689d1ad153296e6a4a49f1ab0187", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a33dd639809167638c5ff88876ce6704e", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a0e7578c0eb50a0758a51d6eeb5855d56", null ],
+ [ "read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a25b833d23952b4f790d852ca67bf2498", null ],
+ [ "read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a040be822742b91e92faf58626d9f315b", null ],
+ [ "read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a726f236aee993a04e1088e927cb7dd22", null ],
+ [ "relocate_to", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd", null ],
+ [ "write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a84cd5ea7fe3d85bc70ac4d9a495fe3a1", null ],
+ [ "write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a8e74f943b29d8de7889cc3ebfda7a3d2", null ],
+ [ "write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a74d73db18493334a0b771bb394d83b59", null ],
+ [ "h", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae", null ],
+ [ "payload", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#acda4e1f8e7713fb5a0c5e1cffbb8dcac", null ],
+ [ "state", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4", null ],
+ [ "visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.png
new file mode 100644
index 00000000..0eeaf88b
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t-members.html
new file mode 100644
index 00000000..68803c77
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t-members.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c">base</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3">d</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>noncompleted_t</b>(registered_buffer_type &amp;&amp;b, deadline _d, io_request&lt; buffers_type &gt; reqs) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>noncompleted_t</b>(registered_buffer_type &amp;&amp;b, deadline _d, io_request&lt; const_buffers_type &gt; reqs) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>noncompleted_t</b>(registered_buffer_type &amp;&amp;b, deadline _d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>params</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html
new file mode 100644
index 00000000..c62392ac
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Storage for non-completed i/o.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">params_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant storage for the possible kinds of non-completed i/o. <a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a06a5fce47829c43c00dc497ba56a783d"><td class="memItemLeft" align="right" valign="top"><a id="a06a5fce47829c43c00dc497ba56a783d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>noncompleted_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> _d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:a06a5fce47829c43c00dc497ba56a783d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ccbf1017121c13954a9a98657e58009"><td class="memItemLeft" align="right" valign="top"><a id="a0ccbf1017121c13954a9a98657e58009"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>noncompleted_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> _d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:a0ccbf1017121c13954a9a98657e58009"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e98829ad9a57bf493397ec7af5ed09e"><td class="memItemLeft" align="right" valign="top"><a id="a8e98829ad9a57bf493397ec7af5ed09e"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>noncompleted_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> _d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
+<tr class="separator:a8e98829ad9a57bf493397ec7af5ed09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ab829e3c5a1116cb43588e4d70d94396c"><td class="memItemLeft" align="right" valign="top"><a id="ab829e3c5a1116cb43588e4d70d94396c"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c">base</a></td></tr>
+<tr class="memdesc:ab829e3c5a1116cb43588e4d70d94396c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The registered buffer to use for the i/o, if any. <br /></td></tr>
+<tr class="separator:ab829e3c5a1116cb43588e4d70d94396c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abeb5b2df22050c0e7fe499de49a7d8e3"><td class="memItemLeft" align="right" valign="top"><a id="abeb5b2df22050c0e7fe499de49a7d8e3"></a>
+<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3">d</a></td></tr>
+<tr class="memdesc:abeb5b2df22050c0e7fe499de49a7d8e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The deadline to complete the i/o by, if any. <br /></td></tr>
+<tr class="separator:abeb5b2df22050c0e7fe499de49a7d8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa7980d974725268ca6f49652ae1bf6c"><td class="memItemLeft" align="right" valign="top"><a id="afa7980d974725268ca6f49652ae1bf6c"></a>
+union <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>params</b></td></tr>
+<tr class="separator:afa7980d974725268ca6f49652ae1bf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Storage for non-completed i/o. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.js
new file mode 100644
index 00000000..7651f339
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.js
@@ -0,0 +1,10 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t =
+[
+ [ "params_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t" ],
+ [ "noncompleted_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a06a5fce47829c43c00dc497ba56a783d", null ],
+ [ "noncompleted_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a0ccbf1017121c13954a9a98657e58009", null ],
+ [ "noncompleted_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#a8e98829ad9a57bf493397ec7af5ed09e", null ],
+ [ "base", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#ab829e3c5a1116cb43588e4d70d94396c", null ],
+ [ "d", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#abeb5b2df22050c0e7fe499de49a7d8e3", null ],
+ [ "params", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#afa7980d974725268ca6f49652ae1bf6c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html
new file mode 100644
index 00000000..792a904a
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_29a4de9e1c2c7e52890dc141915c7822.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Storage for a barrier i/o, the buffers to flush.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a2c2f99007547a51a600b4377ddff3549"><td class="memItemLeft" align="right" valign="top"><a id="a2c2f99007547a51a600b4377ddff3549"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>reqs</b></td></tr>
+<tr class="separator:a2c2f99007547a51a600b4377ddff3549"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6df6ab1a03ab523726989eb6085da046"><td class="memItemLeft" align="right" valign="top"><a id="a6df6ab1a03ab523726989eb6085da046"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a>&#160;</td><td class="memItemRight" valign="bottom"><b>kind</b></td></tr>
+<tr class="separator:a6df6ab1a03ab523726989eb6085da046"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Storage for a barrier i/o, the buffers to flush. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">params_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">barrier_params_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.js
new file mode 100644
index 00000000..efa89ff2
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.js
@@ -0,0 +1,5 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e =
+[
+ [ "kind", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#a6df6ab1a03ab523726989eb6085da046", null ],
+ [ "reqs", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#a2c2f99007547a51a600b4377ddff3549", null ]
+]; \ No newline at end of file
diff --git a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_29a4de9e1c2c7e52890dc141915c7822.html
index 60aa8c12..98a0bbe1 100644
--- a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_29a4de9e1c2c7e52890dc141915c7822.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,16 +83,14 @@ $(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1async__file__ha
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage Member List</div> </div>
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>result_storage</b>() (defined in <a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~result_storage</b>() (defined in <a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kind</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>reqs</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1async__file__ha
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_8bbd52896f06916030695213bfdc8ed4.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_8bbd52896f06916030695213bfdc8ed4.html
new file mode 100644
index 00000000..e7c7cfcb
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_8bbd52896f06916030695213bfdc8ed4.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reqs</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html
new file mode 100644
index 00000000..a5ed525a
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_8bbd52896f06916030695213bfdc8ed4.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Storage for a write i/o, the buffers to drain.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:abba1d1e104b88c35919345907556473c"><td class="memItemLeft" align="right" valign="top"><a id="abba1d1e104b88c35919345907556473c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>reqs</b></td></tr>
+<tr class="separator:abba1d1e104b88c35919345907556473c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Storage for a write i/o, the buffers to drain. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">params_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">write_params_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.js
new file mode 100644
index 00000000..bbf5bf77
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.js
@@ -0,0 +1,4 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555 =
+[
+ [ "reqs", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html#abba1d1e104b88c35919345907556473c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_f395ee2ea9bb49177f3a384ac5bffcbe.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_f395ee2ea9bb49177f3a384ac5bffcbe.html
new file mode 100644
index 00000000..97b6f336
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_f395ee2ea9bb49177f3a384ac5bffcbe.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reqs</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html
new file mode 100644
index 00000000..339e9268
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_f395ee2ea9bb49177f3a384ac5bffcbe.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Storage for a read i/o, the buffers to fill.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a43eaef540d7a90fdb64897dd4b36004d"><td class="memItemLeft" align="right" valign="top"><a id="a43eaef540d7a90fdb64897dd4b36004d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>reqs</b></td></tr>
+<tr class="separator:a43eaef540d7a90fdb64897dd4b36004d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Storage for a read i/o, the buffers to fill. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">params_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">read_params_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.js
new file mode 100644
index 00000000..8c4f769d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.js
@@ -0,0 +1,4 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041 =
+[
+ [ "reqs", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html#a43eaef540d7a90fdb64897dd4b36004d", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable-members.html
new file mode 100644
index 00000000..101b0f5f
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable-members.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt; Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_state</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_state_storage</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_state_storage_bytes</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc">await_ready</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33">await_resume</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979">awaitable</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7">awaitable</a>(result_type &amp;&amp;res) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>awaitable</b>(const awaitable &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6">awaitable</a>(awaitable &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">barrier_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; const_buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">barrier_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77">buffers_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_handle</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_guard</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf">operator&lt;</a>(const awaitable &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const awaitable &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(awaitable &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57">operator==</a>(const awaitable &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">read_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc">read_finished</a>(lock_guard &amp;g, io_operation_state_type) override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">read_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">result_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_state</b>(io_operation_state *state) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">write_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; const_buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">write_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b">write_or_barrier_finished</a>(lock_guard &amp;g, io_operation_state_type) override</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee">~awaitable</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_operation_state_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html
new file mode 100644
index 00000000..c474c12c
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html
@@ -0,0 +1,256 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
+<a href="#pro-types">Protected Types</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt; Struct Template Reference<span class="mlabels"><span class="mlabel">final</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A convenience coroutine awaitable type returned by <code>.co_read()</code>, <code>.co_write()</code> and <code>.co_barrier()</code>. <b>Blocks execution</b> if no i/o multiplexer has been set on this handle!
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::awaitable_3C_20T_20_3E_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::awaitable_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::awaitable_3C_20T_20_3E_map">
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html" title="Called by an i/o operation state to inform you of state change. Note that the i/o operation state loc..." alt="llfio_v2_xxx::io_multiplexer::io_operation_state_visitor" shape="rect" coords="0,0,311,24"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a59fab1c0f3063106623f94e4ec42aab4"><td class="memItemLeft" align="right" valign="top"><a id="a59fab1c0f3063106623f94e4ec42aab4"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">result_type</a> = T</td></tr>
+<tr class="memdesc:a59fab1c0f3063106623f94e4ec42aab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this awaitable. <br /></td></tr>
+<tr class="separator:a59fab1c0f3063106623f94e4ec42aab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca180155e6c98895c953ca2b96276c77"><td class="memItemLeft" align="right" valign="top"><a id="aca180155e6c98895c953ca2b96276c77"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77">buffers_type</a> = typename result_type::value_type</td></tr>
+<tr class="memdesc:aca180155e6c98895c953ca2b96276c77"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffers type of this awaitable. <br /></td></tr>
+<tr class="separator:aca180155e6c98895c953ca2b96276c77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8087d33fb104dac1261abbe4ba58b979"><td class="memItemLeft" align="right" valign="top"><a id="a8087d33fb104dac1261abbe4ba58b979"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979">awaitable</a> ()</td></tr>
+<tr class="memdesc:a8087d33fb104dac1261abbe4ba58b979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a8087d33fb104dac1261abbe4ba58b979"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65537aacf96416de702e47cbde6b36c7"><td class="memItemLeft" align="right" valign="top"><a id="a65537aacf96416de702e47cbde6b36c7"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7">awaitable</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">result_type</a> &amp;&amp;res) noexcept</td></tr>
+<tr class="memdesc:a65537aacf96416de702e47cbde6b36c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an immediately finished awaitable. <br /></td></tr>
+<tr class="separator:a65537aacf96416de702e47cbde6b36c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71f45f3dc4b6aeae4bca751758e69423"><td class="memItemLeft" align="right" valign="top"><a id="a71f45f3dc4b6aeae4bca751758e69423"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>awaitable</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;)=delete</td></tr>
+<tr class="separator:a71f45f3dc4b6aeae4bca751758e69423"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f7eb5f31a556f508b1109edda19bac6"><td class="memItemLeft" align="right" valign="top"><a id="a8f7eb5f31a556f508b1109edda19bac6"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6">awaitable</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="memdesc:a8f7eb5f31a556f508b1109edda19bac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move construction, terminates the process if the i/o is in progress. <br /></td></tr>
+<tr class="separator:a8f7eb5f31a556f508b1109edda19bac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09f4f17a00a8fb700fd5cbb0b73d6d1d"><td class="memItemLeft" align="right" valign="top"><a id="a09f4f17a00a8fb700fd5cbb0b73d6d1d"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;)=delete</td></tr>
+<tr class="separator:a09f4f17a00a8fb700fd5cbb0b73d6d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd04e91854d57489ae87872fc8f73065"><td class="memItemLeft" align="right" valign="top"><a id="acd04e91854d57489ae87872fc8f73065"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:acd04e91854d57489ae87872fc8f73065"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a298a3769fcea4e3cb54fe59f7402cdee"><td class="memItemLeft" align="right" valign="top"><a id="a298a3769fcea4e3cb54fe59f7402cdee"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee">~awaitable</a> ()</td></tr>
+<tr class="memdesc:a298a3769fcea4e3cb54fe59f7402cdee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor, blocks if the i/o is in progress. <br /></td></tr>
+<tr class="separator:a298a3769fcea4e3cb54fe59f7402cdee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a687e302e266f2666dd4186d0f9c74abc"><td class="memItemLeft" align="right" valign="top"><a id="a687e302e266f2666dd4186d0f9c74abc"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc">await_ready</a> () noexcept</td></tr>
+<tr class="memdesc:a687e302e266f2666dd4186d0f9c74abc"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the i/o state is finished. Begins the i/o if it is not initiated yet. <br /></td></tr>
+<tr class="separator:a687e302e266f2666dd4186d0f9c74abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee7e418ca902b7b6096097ed771e8f33"><td class="memItemLeft" align="right" valign="top"><a id="aee7e418ca902b7b6096097ed771e8f33"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4">result_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33">await_resume</a> ()</td></tr>
+<tr class="memdesc:aee7e418ca902b7b6096097ed771e8f33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the result of the i/o. <br /></td></tr>
+<tr class="separator:aee7e418ca902b7b6096097ed771e8f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9054c8b05776c4eba914048cc745d6cf"><td class="memItemLeft" align="right" valign="top"><a id="a9054c8b05776c4eba914048cc745d6cf"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf">operator&lt;</a> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a9054c8b05776c4eba914048cc745d6cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides ordering, so awaitables can be placed into maps. <br /></td></tr>
+<tr class="separator:a9054c8b05776c4eba914048cc745d6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b32495a7a51102de1392d574324db57"><td class="memItemLeft" align="right" valign="top"><a id="a7b32495a7a51102de1392d574324db57"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57">operator==</a> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a7b32495a7a51102de1392d574324db57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides equality, so awaitables can be placed into maps. <br /></td></tr>
+<tr class="separator:a7b32495a7a51102de1392d574324db57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a1cc023b82293762fbd472346fe41fdff"><td class="memItemLeft" align="right" valign="top"><a id="a1cc023b82293762fbd472346fe41fdff"></a>
+byte&#160;</td><td class="memItemRight" valign="bottom"><b>_state_storage</b> [_state_storage_bytes]</td></tr>
+<tr class="separator:a1cc023b82293762fbd472346fe41fdff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a828cc275944ca7a542ff9ca6084eb06b"><td class="memItemLeft" align="right" valign="top"><a id="a828cc275944ca7a542ff9ca6084eb06b"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_state</b> {nullptr}</td></tr>
+<tr class="separator:a828cc275944ca7a542ff9ca6084eb06b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a6358b4767ee20f0d0db2a2810fa53efd"><td class="memItemLeft" align="right" valign="top"><a id="a6358b4767ee20f0d0db2a2810fa53efd"></a>
+static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_state_storage_bytes</b> = _awaitable_size - sizeof(void *) - sizeof(<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *)</td></tr>
+<tr class="separator:a6358b4767ee20f0d0db2a2810fa53efd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:ab290d8f6ae07e4bcc37b1de73f4457c0"><td class="memItemLeft" align="right" valign="top"><a id="ab290d8f6ae07e4bcc37b1de73f4457c0"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>lock_guard</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">io_operation_state::lock_guard</a></td></tr>
+<tr class="separator:ab290d8f6ae07e4bcc37b1de73f4457c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a20be335e45bf3d9c3f4369ba5692f247"><td class="memItemLeft" align="right" valign="top"><a id="a20be335e45bf3d9c3f4369ba5692f247"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>set_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *state) noexcept</td></tr>
+<tr class="separator:a20be335e45bf3d9c3f4369ba5692f247"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6424df9fe1b12b3120433ab4835a6ddc"><td class="memItemLeft" align="right" valign="top"><a id="a6424df9fe1b12b3120433ab4835a6ddc"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc">read_finished</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>) override</td></tr>
+<tr class="memdesc:a6424df9fe1b12b3120433ab4835a6ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has finished, and its state can now be destroyed. <br /></td></tr>
+<tr class="separator:a6424df9fe1b12b3120433ab4835a6ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4928c0ee2cb668da6fc3a3ad8205df7b"><td class="memItemLeft" align="right" valign="top"><a id="a4928c0ee2cb668da6fc3a3ad8205df7b"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b">write_or_barrier_finished</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>) override</td></tr>
+<tr class="memdesc:a4928c0ee2cb668da6fc3a3ad8205df7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has finished, and its state can now be destroyed. <br /></td></tr>
+<tr class="separator:a4928c0ee2cb668da6fc3a3ad8205df7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae46b4b960372e5dad3a53d45150b01a1"><td class="memItemLeft" align="right" valign="top"><a id="ae46b4b960372e5dad3a53d45150b01a1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">read_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:ae46b4b960372e5dad3a53d45150b01a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:ae46b4b960372e5dad3a53d45150b01a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1b0710e718b9edc638d59efb23ee94e"><td class="memItemLeft" align="right" valign="top"><a id="ac1b0710e718b9edc638d59efb23ee94e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">read_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77">buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:ac1b0710e718b9edc638d59efb23ee94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:ac1b0710e718b9edc638d59efb23ee94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b0f655751f5fdefee3557cebe469a06"><td class="memItemLeft" align="right" valign="top"><a id="a0b0f655751f5fdefee3557cebe469a06"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">write_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:a0b0f655751f5fdefee3557cebe469a06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:a0b0f655751f5fdefee3557cebe469a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="memItemLeft" align="right" valign="top"><a id="a5fc354bd51e2fbc006f2d5c7772268f1"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">write_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2782aa849f1881bd782da6714ec5435a"><td class="memItemLeft" align="right" valign="top"><a id="a2782aa849f1881bd782da6714ec5435a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">barrier_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:a2782aa849f1881bd782da6714ec5435a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:a2782aa849f1881bd782da6714ec5435a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9ded29fcb56dcbb2da09a8283522fde"><td class="memItemLeft" align="right" valign="top"><a id="ad9ded29fcb56dcbb2da09a8283522fde"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">barrier_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:ad9ded29fcb56dcbb2da09a8283522fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:ad9ded29fcb56dcbb2da09a8283522fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a954c5d5a2b4f91a7af3caf7f36dbbdbe"><td class="memItemLeft" align="right" valign="top"><a id="a954c5d5a2b4f91a7af3caf7f36dbbdbe"></a>
+class&#160;</td><td class="memItemRight" valign="bottom"><b>io_handle</b></td></tr>
+<tr class="separator:a954c5d5a2b4f91a7af3caf7f36dbbdbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template&lt;class T&gt;<br />
+struct llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;</h3>
+
+<p>A convenience coroutine awaitable type returned by <code>.co_read()</code>, <code>.co_write()</code> and <code>.co_barrier()</code>. <b>Blocks execution</b> if no i/o multiplexer has been set on this handle! </p>
+<p>Upon first <code>.await_ready()</code>, the awaitable initiates the i/o. If the i/o completes immediately, the awaitable is immediately ready and no coroutine suspension occurs.</p>
+<p>If the i/o does not complete immediately, the coroutine is suspended. To cause resumption of execution, you will need to pump the associated i/o multiplexer for completions using <code>io_multiplexer::check_for_any_completed_io()</code>. </p>
+</div><hr/>The documentation for this struct was generated from the following files:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html">awaitable</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.js
new file mode 100644
index 00000000..c8abdf61
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.js
@@ -0,0 +1,29 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable =
+[
+ [ "buffers_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aca180155e6c98895c953ca2b96276c77", null ],
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ab290d8f6ae07e4bcc37b1de73f4457c0", null ],
+ [ "result_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a59fab1c0f3063106623f94e4ec42aab4", null ],
+ [ "awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8087d33fb104dac1261abbe4ba58b979", null ],
+ [ "awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a65537aacf96416de702e47cbde6b36c7", null ],
+ [ "awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a71f45f3dc4b6aeae4bca751758e69423", null ],
+ [ "awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a8f7eb5f31a556f508b1109edda19bac6", null ],
+ [ "~awaitable", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a298a3769fcea4e3cb54fe59f7402cdee", null ],
+ [ "await_ready", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a687e302e266f2666dd4186d0f9c74abc", null ],
+ [ "await_resume", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#aee7e418ca902b7b6096097ed771e8f33", null ],
+ [ "barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ad9ded29fcb56dcbb2da09a8283522fde", null ],
+ [ "barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a2782aa849f1881bd782da6714ec5435a", null ],
+ [ "operator<", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a9054c8b05776c4eba914048cc745d6cf", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#acd04e91854d57489ae87872fc8f73065", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a09f4f17a00a8fb700fd5cbb0b73d6d1d", null ],
+ [ "operator==", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a7b32495a7a51102de1392d574324db57", null ],
+ [ "read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ac1b0710e718b9edc638d59efb23ee94e", null ],
+ [ "read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a6424df9fe1b12b3120433ab4835a6ddc", null ],
+ [ "read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#ae46b4b960372e5dad3a53d45150b01a1", null ],
+ [ "set_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a20be335e45bf3d9c3f4369ba5692f247", null ],
+ [ "write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a5fc354bd51e2fbc006f2d5c7772268f1", null ],
+ [ "write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a0b0f655751f5fdefee3557cebe469a06", null ],
+ [ "write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a4928c0ee2cb668da6fc3a3ad8205df7b", null ],
+ [ "io_handle", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a954c5d5a2b4f91a7af3caf7f36dbbdbe", null ],
+ [ "_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a828cc275944ca7a542ff9ca6084eb06b", null ],
+ [ "_state_storage", "structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html#a1cc023b82293762fbd472346fe41fdff", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.png
new file mode 100644
index 00000000..153654d4
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type-members.html
new file mode 100644
index 00000000..da96da59
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type-members.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::buffer_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_check_iovec_match</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb">begin</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959">begin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa">buffer_type</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6">buffer_type</a>(pointer data, size_type len) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206">buffer_type</a>(span&lt; byte &gt; s) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b>(const buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b>(buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9">cbegin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead">cend</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41">const_pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3">data</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c">data</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3">end</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6">end</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add">size</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">size_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">llfio_v2_xxx::io_multiplexer::buffer_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html
new file mode 100644
index 00000000..cbdd3a0c
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::buffer_type Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::buffer_type Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a50a318e9b28bed802b5f08824cec3027"><td class="memItemLeft" align="right" valign="top"><a id="a50a318e9b28bed802b5f08824cec3027"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">pointer</a> = byte *</td></tr>
+<tr class="memdesc:a50a318e9b28bed802b5f08824cec3027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
+<tr class="separator:a50a318e9b28bed802b5f08824cec3027"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaacc62ecd9e89f3054d5c12cf6c20a41"><td class="memItemLeft" align="right" valign="top"><a id="aaacc62ecd9e89f3054d5c12cf6c20a41"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41">const_pointer</a> = const byte *</td></tr>
+<tr class="memdesc:aaacc62ecd9e89f3054d5c12cf6c20a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
+<tr class="separator:aaacc62ecd9e89f3054d5c12cf6c20a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea18fa562d4156b56742ddaba4c2dae2"><td class="memItemLeft" align="right" valign="top"><a id="aea18fa562d4156b56742ddaba4c2dae2"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">iterator</a> = byte *</td></tr>
+<tr class="memdesc:aea18fa562d4156b56742ddaba4c2dae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
+<tr class="separator:aea18fa562d4156b56742ddaba4c2dae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ac4dc5501927ef9c96e786bba7db92a"><td class="memItemLeft" align="right" valign="top"><a id="a9ac4dc5501927ef9c96e786bba7db92a"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a> = const byte *</td></tr>
+<tr class="memdesc:a9ac4dc5501927ef9c96e786bba7db92a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
+<tr class="separator:a9ac4dc5501927ef9c96e786bba7db92a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23cef19710d97b8758ddbb4b128798a1"><td class="memItemLeft" align="right" valign="top"><a id="a23cef19710d97b8758ddbb4b128798a1"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">size_type</a> = size_t</td></tr>
+<tr class="memdesc:a23cef19710d97b8758ddbb4b128798a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the length of memory. <br /></td></tr>
+<tr class="separator:a23cef19710d97b8758ddbb4b128798a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8c1c12067c2e0b299e15a0476ddbbbfa"><td class="memItemLeft" align="right" valign="top"><a id="a8c1c12067c2e0b299e15a0476ddbbbfa"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa">buffer_type</a> ()=default</td></tr>
+<tr class="memdesc:a8c1c12067c2e0b299e15a0476ddbbbfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a8c1c12067c2e0b299e15a0476ddbbbfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2de2ead971d4d3902707d0c896446a6"><td class="memItemLeft" align="right" valign="top"><a id="ab2de2ead971d4d3902707d0c896446a6"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6">buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">pointer</a> <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3">data</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">size_type</a> len) noexcept</td></tr>
+<tr class="memdesc:ab2de2ead971d4d3902707d0c896446a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
+<tr class="separator:ab2de2ead971d4d3902707d0c896446a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9681a0496d5a6dcfbfc130e8f16f3206"><td class="memItemLeft" align="right" valign="top"><a id="a9681a0496d5a6dcfbfc130e8f16f3206"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206">buffer_type</a> (span&lt; byte &gt; s) noexcept</td></tr>
+<tr class="memdesc:a9681a0496d5a6dcfbfc130e8f16f3206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
+<tr class="separator:a9681a0496d5a6dcfbfc130e8f16f3206"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e567d1e86750d6f113f66f9e40b8ee4"><td class="memItemLeft" align="right" valign="top"><a id="a3e567d1e86750d6f113f66f9e40b8ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:a3e567d1e86750d6f113f66f9e40b8ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bfcba451d7a46f59394dd0e1ac418bf"><td class="memItemLeft" align="right" valign="top"><a id="a7bfcba451d7a46f59394dd0e1ac418bf"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>buffer_type</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a7bfcba451d7a46f59394dd0e1ac418bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05db984604f855b0f9b54cc6d476baff"><td class="memItemLeft" align="right" valign="top"><a id="a05db984604f855b0f9b54cc6d476baff"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:a05db984604f855b0f9b54cc6d476baff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acac8ff4b4547c680c3cfdf5e3cd1b8eb"><td class="memItemLeft" align="right" valign="top"><a id="acac8ff4b4547c680c3cfdf5e3cd1b8eb"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:acac8ff4b4547c680c3cfdf5e3cd1b8eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67cfc49fa25d85db8e9559d271ccc7d3"><td class="memItemLeft" align="right" valign="top"><a id="a67cfc49fa25d85db8e9559d271ccc7d3"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3">data</a> () noexcept</td></tr>
+<tr class="memdesc:a67cfc49fa25d85db8e9559d271ccc7d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
+<tr class="separator:a67cfc49fa25d85db8e9559d271ccc7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b694b2ef3121b1cb3b0d3dec6db9e1c"><td class="memItemLeft" align="right" valign="top"><a id="a0b694b2ef3121b1cb3b0d3dec6db9e1c"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c">data</a> () const noexcept</td></tr>
+<tr class="memdesc:a0b694b2ef3121b1cb3b0d3dec6db9e1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
+<tr class="separator:a0b694b2ef3121b1cb3b0d3dec6db9e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7acb9ea44287d278e283a610951add"><td class="memItemLeft" align="right" valign="top"><a id="a9a7acb9ea44287d278e283a610951add"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add">size</a> () const noexcept</td></tr>
+<tr class="memdesc:a9a7acb9ea44287d278e283a610951add"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in this buffer. <br /></td></tr>
+<tr class="separator:a9a7acb9ea44287d278e283a610951add"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8290c5bce5f66e2556b3a3a6c859c1eb"><td class="memItemLeft" align="right" valign="top"><a id="a8290c5bce5f66e2556b3a3a6c859c1eb"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb">begin</a> () noexcept</td></tr>
+<tr class="memdesc:a8290c5bce5f66e2556b3a3a6c859c1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:a8290c5bce5f66e2556b3a3a6c859c1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a746dce320e4055acf45d3a97d052d959"><td class="memItemLeft" align="right" valign="top"><a id="a746dce320e4055acf45d3a97d052d959"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959">begin</a> () const noexcept</td></tr>
+<tr class="memdesc:a746dce320e4055acf45d3a97d052d959"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:a746dce320e4055acf45d3a97d052d959"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad879d5e394cc2782841a68996e434fa9"><td class="memItemLeft" align="right" valign="top"><a id="ad879d5e394cc2782841a68996e434fa9"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9">cbegin</a> () const noexcept</td></tr>
+<tr class="memdesc:ad879d5e394cc2782841a68996e434fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:ad879d5e394cc2782841a68996e434fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20377657f668410301368c0098815bc3"><td class="memItemLeft" align="right" valign="top"><a id="a20377657f668410301368c0098815bc3"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3">end</a> () noexcept</td></tr>
+<tr class="memdesc:a20377657f668410301368c0098815bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:a20377657f668410301368c0098815bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3980441d65820609144867f5fefc44d6"><td class="memItemLeft" align="right" valign="top"><a id="a3980441d65820609144867f5fefc44d6"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6">end</a> () const noexcept</td></tr>
+<tr class="memdesc:a3980441d65820609144867f5fefc44d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:a3980441d65820609144867f5fefc44d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a15044db5030e8064d86b64e6d8d67ead"><td class="memItemLeft" align="right" valign="top"><a id="a15044db5030e8064d86b64e6d8d67ead"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead">cend</a> () const noexcept</td></tr>
+<tr class="memdesc:a15044db5030e8064d86b64e6d8d67ead"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:a15044db5030e8064d86b64e6d8d67ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a2be41190e9bc27f3a11510b92fe7d951"><td class="memItemLeft" align="right" valign="top"><a id="a2be41190e9bc27f3a11510b92fe7d951"></a>
+constexpr friend void&#160;</td><td class="memItemRight" valign="bottom"><b>_check_iovec_match</b> ()</td></tr>
+<tr class="separator:a2be41190e9bc27f3a11510b92fe7d951"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scatter buffer type used by this handle. Guaranteed to be <code>TrivialType</code> and <code>StandardLayoutType</code>. Try to make address and length 64 byte, or ideally, <code>page_size()</code> aligned where possible. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.js
new file mode 100644
index 00000000..b84d9388
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.js
@@ -0,0 +1,26 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type =
+[
+ [ "const_iterator", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9ac4dc5501927ef9c96e786bba7db92a", null ],
+ [ "const_pointer", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aaacc62ecd9e89f3054d5c12cf6c20a41", null ],
+ [ "iterator", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#aea18fa562d4156b56742ddaba4c2dae2", null ],
+ [ "pointer", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a50a318e9b28bed802b5f08824cec3027", null ],
+ [ "size_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a23cef19710d97b8758ddbb4b128798a1", null ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8c1c12067c2e0b299e15a0476ddbbbfa", null ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ab2de2ead971d4d3902707d0c896446a6", null ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9681a0496d5a6dcfbfc130e8f16f3206", null ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3e567d1e86750d6f113f66f9e40b8ee4", null ],
+ [ "buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a7bfcba451d7a46f59394dd0e1ac418bf", null ],
+ [ "~buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a60224ed41eaf9234dbf4a995e3dd6c4b", null ],
+ [ "begin", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a746dce320e4055acf45d3a97d052d959", null ],
+ [ "begin", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a8290c5bce5f66e2556b3a3a6c859c1eb", null ],
+ [ "cbegin", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#ad879d5e394cc2782841a68996e434fa9", null ],
+ [ "cend", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a15044db5030e8064d86b64e6d8d67ead", null ],
+ [ "data", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a0b694b2ef3121b1cb3b0d3dec6db9e1c", null ],
+ [ "data", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a67cfc49fa25d85db8e9559d271ccc7d3", null ],
+ [ "end", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a3980441d65820609144867f5fefc44d6", null ],
+ [ "end", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a20377657f668410301368c0098815bc3", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#acac8ff4b4547c680c3cfdf5e3cd1b8eb", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a05db984604f855b0f9b54cc6d476baff", null ],
+ [ "size", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a9a7acb9ea44287d278e283a610951add", null ],
+ [ "_check_iovec_match", "structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html#a2be41190e9bc27f3a11510b92fe7d951", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics-members.html
new file mode 100644
index 00000000..9861011e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics-members.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4">initiated_ios_completed</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3">initiated_ios_finished</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html
new file mode 100644
index 00000000..dcb5c213
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::check_for_any_completed_io_statistics Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Statistics about the just returned <code>wait_for_completed_io()</code> operation.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a2442d11a934423156452c6bdf86465c4"><td class="memItemLeft" align="right" valign="top"><a id="a2442d11a934423156452c6bdf86465c4"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4">initiated_ios_completed</a> {0}</td></tr>
+<tr class="memdesc:a2442d11a934423156452c6bdf86465c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of initiated i/o which were completed by this call. <br /></td></tr>
+<tr class="separator:a2442d11a934423156452c6bdf86465c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cc5ce15cfa816f6eafc8747134085f3"><td class="memItemLeft" align="right" valign="top"><a id="a1cc5ce15cfa816f6eafc8747134085f3"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3">initiated_ios_finished</a> {0}</td></tr>
+<tr class="memdesc:a1cc5ce15cfa816f6eafc8747134085f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of initiated i/o which were finished by this call. <br /></td></tr>
+<tr class="separator:a1cc5ce15cfa816f6eafc8747134085f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Statistics about the just returned <code>wait_for_completed_io()</code> operation. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html">check_for_any_completed_io_statistics</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.js
new file mode 100644
index 00000000..a6b68e67
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.js
@@ -0,0 +1,5 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics =
+[
+ [ "initiated_ios_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a2442d11a934423156452c6bdf86465c4", null ],
+ [ "initiated_ios_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1check__for__any__completed__io__statistics.html#a1cc5ce15cfa816f6eafc8747134085f3", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type-members.html
new file mode 100644
index 00000000..39d38e11
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type-members.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::const_buffer_type Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d">begin</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf">begin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0">cbegin</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202">cend</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b">const_buffer_type</a>()=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca">const_buffer_type</a>(pointer data, size_type len) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f">const_buffer_type</a>(span&lt; const byte &gt; s) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e">const_buffer_type</a>(buffer_type b) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783">const_buffer_type</a>(span&lt; byte &gt; s) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>const_buffer_type</b>(const const_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_buffer_type</b>(const_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db">const_pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb">data</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca">data</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf">end</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe">end</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">iterator</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const const_buffer_type &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const_buffer_type &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">pointer</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2">size</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">size_type</a> typedef</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~const_buffer_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">llfio_v2_xxx::io_multiplexer::const_buffer_type</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html
new file mode 100644
index 00000000..a3c42b45
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::const_buffer_type Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::const_buffer_type Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a38ad8126be83b80b5fac6a65d126a721"><td class="memItemLeft" align="right" valign="top"><a id="a38ad8126be83b80b5fac6a65d126a721"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">pointer</a> = const byte *</td></tr>
+<tr class="memdesc:a38ad8126be83b80b5fac6a65d126a721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
+<tr class="separator:a38ad8126be83b80b5fac6a65d126a721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4935ec04eba026a08e832a7aebbe0db"><td class="memItemLeft" align="right" valign="top"><a id="ae4935ec04eba026a08e832a7aebbe0db"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db">const_pointer</a> = const byte *</td></tr>
+<tr class="memdesc:ae4935ec04eba026a08e832a7aebbe0db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the pointer to memory. <br /></td></tr>
+<tr class="separator:ae4935ec04eba026a08e832a7aebbe0db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d9af8d5e7776761ca69c90016a6dcba"><td class="memItemLeft" align="right" valign="top"><a id="a0d9af8d5e7776761ca69c90016a6dcba"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">iterator</a> = const byte *</td></tr>
+<tr class="memdesc:a0d9af8d5e7776761ca69c90016a6dcba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
+<tr class="separator:a0d9af8d5e7776761ca69c90016a6dcba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae49ab9342c09c9546f8148884ff64d54"><td class="memItemLeft" align="right" valign="top"><a id="ae49ab9342c09c9546f8148884ff64d54"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a> = const byte *</td></tr>
+<tr class="memdesc:ae49ab9342c09c9546f8148884ff64d54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the iterator to memory. <br /></td></tr>
+<tr class="separator:ae49ab9342c09c9546f8148884ff64d54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad64ede32e720c4e76fe8147ea5c5c8da"><td class="memItemLeft" align="right" valign="top"><a id="ad64ede32e720c4e76fe8147ea5c5c8da"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">size_type</a> = size_t</td></tr>
+<tr class="memdesc:ad64ede32e720c4e76fe8147ea5c5c8da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the length of memory. <br /></td></tr>
+<tr class="separator:ad64ede32e720c4e76fe8147ea5c5c8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0538a6d670c079ecac2b5c400a2b867b"><td class="memItemLeft" align="right" valign="top"><a id="a0538a6d670c079ecac2b5c400a2b867b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b">const_buffer_type</a> ()=default</td></tr>
+<tr class="memdesc:a0538a6d670c079ecac2b5c400a2b867b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
+<tr class="separator:a0538a6d670c079ecac2b5c400a2b867b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6deb87189314b6d9052b7a2f6ee3a2ca"><td class="memItemLeft" align="right" valign="top"><a id="a6deb87189314b6d9052b7a2f6ee3a2ca"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca">const_buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">pointer</a> <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb">data</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">size_type</a> len) noexcept</td></tr>
+<tr class="memdesc:a6deb87189314b6d9052b7a2f6ee3a2ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
+<tr class="separator:a6deb87189314b6d9052b7a2f6ee3a2ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e7de254d6b178a6ec7f69f5b2fd7c7f"><td class="memItemLeft" align="right" valign="top"><a id="a0e7de254d6b178a6ec7f69f5b2fd7c7f"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f">const_buffer_type</a> (span&lt; const byte &gt; s) noexcept</td></tr>
+<tr class="memdesc:a0e7de254d6b178a6ec7f69f5b2fd7c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
+<tr class="separator:a0e7de254d6b178a6ec7f69f5b2fd7c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25f56c4821e18c4e3d756a085fc90a9e"><td class="memItemLeft" align="right" valign="top"><a id="a25f56c4821e18c4e3d756a085fc90a9e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e">const_buffer_type</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1buffer__type.html">buffer_type</a> b) noexcept</td></tr>
+<tr class="memdesc:a25f56c4821e18c4e3d756a085fc90a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converting constructor from non-const buffer type. <br /></td></tr>
+<tr class="separator:a25f56c4821e18c4e3d756a085fc90a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad511ad26879c58d9027924b69ce60783"><td class="memItemLeft" align="right" valign="top"><a id="ad511ad26879c58d9027924b69ce60783"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783">const_buffer_type</a> (span&lt; byte &gt; s) noexcept</td></tr>
+<tr class="memdesc:ad511ad26879c58d9027924b69ce60783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converting constructor from non-const buffer type. <br /></td></tr>
+<tr class="separator:ad511ad26879c58d9027924b69ce60783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0d5d725b0a5d013b311b8322bcbbf16"><td class="memItemLeft" align="right" valign="top"><a id="ad0d5d725b0a5d013b311b8322bcbbf16"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:ad0d5d725b0a5d013b311b8322bcbbf16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4aa7af3af85a3e3c34f353dad8918e2f"><td class="memItemLeft" align="right" valign="top"><a id="a4aa7af3af85a3e3c34f353dad8918e2f"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>const_buffer_type</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a4aa7af3af85a3e3c34f353dad8918e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e21a7bcf52c2abf175fa65ca285b939"><td class="memItemLeft" align="right" valign="top"><a id="a4e21a7bcf52c2abf175fa65ca285b939"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;)=default</td></tr>
+<tr class="separator:a4e21a7bcf52c2abf175fa65ca285b939"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f46d19689162b22d017cfab4fc1051c"><td class="memItemLeft" align="right" valign="top"><a id="a9f46d19689162b22d017cfab4fc1051c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a9f46d19689162b22d017cfab4fc1051c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84c8f2fa04dcba48d23acc38645af7bb"><td class="memItemLeft" align="right" valign="top"><a id="a84c8f2fa04dcba48d23acc38645af7bb"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb">data</a> () noexcept</td></tr>
+<tr class="memdesc:a84c8f2fa04dcba48d23acc38645af7bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
+<tr class="separator:a84c8f2fa04dcba48d23acc38645af7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a047b7e7ce2156672ad57a13d2fe4e6ca"><td class="memItemLeft" align="right" valign="top"><a id="a047b7e7ce2156672ad57a13d2fe4e6ca"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca">data</a> () const noexcept</td></tr>
+<tr class="memdesc:a047b7e7ce2156672ad57a13d2fe4e6ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the bytes for this buffer. <br /></td></tr>
+<tr class="separator:a047b7e7ce2156672ad57a13d2fe4e6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a297b677399f0587a286e975bd6c8a3e2"><td class="memItemLeft" align="right" valign="top"><a id="a297b677399f0587a286e975bd6c8a3e2"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2">size</a> () const noexcept</td></tr>
+<tr class="memdesc:a297b677399f0587a286e975bd6c8a3e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in this buffer. <br /></td></tr>
+<tr class="separator:a297b677399f0587a286e975bd6c8a3e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad898570225b93506519231478896353d"><td class="memItemLeft" align="right" valign="top"><a id="ad898570225b93506519231478896353d"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d">begin</a> () noexcept</td></tr>
+<tr class="memdesc:ad898570225b93506519231478896353d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:ad898570225b93506519231478896353d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26bac4da85e9d252e7e03afa1fc4c2bf"><td class="memItemLeft" align="right" valign="top"><a id="a26bac4da85e9d252e7e03afa1fc4c2bf"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf">begin</a> () const noexcept</td></tr>
+<tr class="memdesc:a26bac4da85e9d252e7e03afa1fc4c2bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:a26bac4da85e9d252e7e03afa1fc4c2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b84b6407eddc8c2f8c718d17d29a0c0"><td class="memItemLeft" align="right" valign="top"><a id="a3b84b6407eddc8c2f8c718d17d29a0c0"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0">cbegin</a> () const noexcept</td></tr>
+<tr class="memdesc:a3b84b6407eddc8c2f8c718d17d29a0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the beginning of the buffer. <br /></td></tr>
+<tr class="separator:a3b84b6407eddc8c2f8c718d17d29a0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa199bee565fd960f0bd39ede9fe775cf"><td class="memItemLeft" align="right" valign="top"><a id="aa199bee565fd960f0bd39ede9fe775cf"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf">end</a> () noexcept</td></tr>
+<tr class="memdesc:aa199bee565fd960f0bd39ede9fe775cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:aa199bee565fd960f0bd39ede9fe775cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4e048906afe8eefaf4e7453287fcefe"><td class="memItemLeft" align="right" valign="top"><a id="ad4e048906afe8eefaf4e7453287fcefe"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe">end</a> () const noexcept</td></tr>
+<tr class="memdesc:ad4e048906afe8eefaf4e7453287fcefe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:ad4e048906afe8eefaf4e7453287fcefe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af82ea30f67422aac9c6bdeca1dccc202"><td class="memItemLeft" align="right" valign="top"><a id="af82ea30f67422aac9c6bdeca1dccc202"></a>
+constexpr <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202">cend</a> () const noexcept</td></tr>
+<tr class="memdesc:af82ea30f67422aac9c6bdeca1dccc202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the end of the buffer. <br /></td></tr>
+<tr class="separator:af82ea30f67422aac9c6bdeca1dccc202"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The gather buffer type used by this handle. Guaranteed to be <code>TrivialType</code> and <code>StandardLayoutType</code>. Try to make address and length 64 byte, or ideally, <code>page_size()</code> aligned where possible. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html">const_buffer_type</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.js
new file mode 100644
index 00000000..92fe6989
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.js
@@ -0,0 +1,27 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type =
+[
+ [ "const_iterator", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae49ab9342c09c9546f8148884ff64d54", null ],
+ [ "const_pointer", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ae4935ec04eba026a08e832a7aebbe0db", null ],
+ [ "iterator", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0d9af8d5e7776761ca69c90016a6dcba", null ],
+ [ "pointer", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a38ad8126be83b80b5fac6a65d126a721", null ],
+ [ "size_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad64ede32e720c4e76fe8147ea5c5c8da", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0538a6d670c079ecac2b5c400a2b867b", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a6deb87189314b6d9052b7a2f6ee3a2ca", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a0e7de254d6b178a6ec7f69f5b2fd7c7f", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a25f56c4821e18c4e3d756a085fc90a9e", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad511ad26879c58d9027924b69ce60783", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad0d5d725b0a5d013b311b8322bcbbf16", null ],
+ [ "const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a4aa7af3af85a3e3c34f353dad8918e2f", null ],
+ [ "~const_buffer_type", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047c704dbd3858cd78b2c33f76230c05", null ],
+ [ "begin", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a26bac4da85e9d252e7e03afa1fc4c2bf", null ],
+ [ "begin", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad898570225b93506519231478896353d", null ],
+ [ "cbegin", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a3b84b6407eddc8c2f8c718d17d29a0c0", null ],
+ [ "cend", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#af82ea30f67422aac9c6bdeca1dccc202", null ],
+ [ "data", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a047b7e7ce2156672ad57a13d2fe4e6ca", null ],
+ [ "data", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a84c8f2fa04dcba48d23acc38645af7bb", null ],
+ [ "end", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#ad4e048906afe8eefaf4e7453287fcefe", null ],
+ [ "end", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#aa199bee565fd960f0bd39ede9fe775cf", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a4e21a7bcf52c2abf175fa65ca285b939", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a9f46d19689162b22d017cfab4fc1051c", null ],
+ [ "size", "structllfio__v2__xxx_1_1io__multiplexer_1_1const__buffer__type.html#a297b677399f0587a286e975bd6c8a3e2", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state-members.html
new file mode 100644
index 00000000..bda29fd2
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state-members.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_lock</b>() noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>_unlock</b>() noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1">current_state</a>() const noexcept=0</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2">get_completed_read</a>() &amp;&amp;noexcept=0</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a">get_completed_write_or_barrier</a>() &amp;&amp;noexcept=0</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc">invoke</a>(function_ptr&lt; void *(io_operation_state_type)&gt; c) const noexcept=0</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_operation_state</b>(io_handle *_h, io_operation_state_visitor *_visitor) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_guard</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105">relocate_to</a>(byte *to) noexcept=0</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_operation_state</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">llfio_v2_xxx::io_multiplexer::io_operation_state</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html
new file mode 100644
index 00000000..8e81d827
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::io_operation_state Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state Struct Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An interface to a state for an i/o operation scheduled against an i/o multiplexer.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::io_operation_state:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_map">
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html" title="An unsynchronised i/o operation state." alt="llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state" shape="rect" coords="0,56,374,80"/>
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html" title="A synchronised i/o operation state." alt="llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state" shape="rect" coords="0,112,374,136"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used by the visitor to control the state lock. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a67cdbe474e7378d0242523e4f3057fbc"><td class="memItemLeft" align="right" valign="top"><a id="a67cdbe474e7378d0242523e4f3057fbc"></a>
+virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc">invoke</a> (function_ptr&lt; void *(<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)&gt; c) const noexcept=0</td></tr>
+<tr class="memdesc:a67cdbe474e7378d0242523e4f3057fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the callable with the per-i/o state lock held, if any. <br /></td></tr>
+<tr class="separator:a67cdbe474e7378d0242523e4f3057fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8343534126338d7647913831a04fcde1"><td class="memItemLeft" align="right" valign="top"><a id="a8343534126338d7647913831a04fcde1"></a>
+virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1">current_state</a> () const noexcept=0</td></tr>
+<tr class="memdesc:a8343534126338d7647913831a04fcde1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the current state of the i/o operation. <br /></td></tr>
+<tr class="separator:a8343534126338d7647913831a04fcde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af660d4ec2843dd1192cbb16e62c7d4e2"><td class="memItemLeft" align="right" valign="top"><a id="af660d4ec2843dd1192cbb16e62c7d4e2"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2">get_completed_read</a> () &amp;&amp;noexcept=0</td></tr>
+<tr class="memdesc:af660d4ec2843dd1192cbb16e62c7d4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:af660d4ec2843dd1192cbb16e62c7d4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af79be80a27c2e1096beaf30a14db961a"><td class="memItemLeft" align="right" valign="top"><a id="af79be80a27c2e1096beaf30a14db961a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a">get_completed_write_or_barrier</a> () &amp;&amp;noexcept=0</td></tr>
+<tr class="memdesc:af79be80a27c2e1096beaf30a14db961a"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
+<tr class="separator:af79be80a27c2e1096beaf30a14db961a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33c77102ba227c122bff95afd2765105"><td class="memItemLeft" align="right" valign="top"><a id="a33c77102ba227c122bff95afd2765105"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105">relocate_to</a> (byte *to) noexcept=0</td></tr>
+<tr class="memdesc:a33c77102ba227c122bff95afd2765105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relocate the state to new storage, clearing the original state. Terminates the process if the state is in use. <br /></td></tr>
+<tr class="separator:a33c77102ba227c122bff95afd2765105"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memItemLeft" align="right" valign="top"><a id="aa0ea732afb9aed27c04d6f333ed815ae"></a>
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a> {nullptr}</td></tr>
+<tr class="memdesc:aa0ea732afb9aed27c04d6f333ed815ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle the i/o operation is upon. <br /></td></tr>
+<tr class="separator:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a648d87148f5a16587c9f9c2a5663e20c"><td class="memItemLeft" align="right" valign="top"><a id="a648d87148f5a16587c9f9c2a5663e20c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a> {nullptr}</td></tr>
+<tr class="memdesc:a648d87148f5a16587c9f9c2a5663e20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state visitor supplied when the operation was initialised. <br /></td></tr>
+<tr class="separator:a648d87148f5a16587c9f9c2a5663e20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a4371c9d03ecb1decec7c68ca0f2c6b92"><td class="memItemLeft" align="right" valign="top"><a id="a4371c9d03ecb1decec7c68ca0f2c6b92"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>io_operation_state</b> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_visitor)</td></tr>
+<tr class="separator:a4371c9d03ecb1decec7c68ca0f2c6b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01b43e5fc4b158b62f809eb7974bc9b6"><td class="memItemLeft" align="right" valign="top"><a id="a01b43e5fc4b158b62f809eb7974bc9b6"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_lock</b> () noexcept</td></tr>
+<tr class="separator:a01b43e5fc4b158b62f809eb7974bc9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84e74147ea57e8276546fb28cb0a20c7"><td class="memItemLeft" align="right" valign="top"><a id="a84e74147ea57e8276546fb28cb0a20c7"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_unlock</b> () noexcept</td></tr>
+<tr class="separator:a84e74147ea57e8276546fb28cb0a20c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6111c564da4caacffa898414b5990fb1"><td class="memItemLeft" align="right" valign="top"><a id="a6111c564da4caacffa898414b5990fb1"></a>
+struct&#160;</td><td class="memItemRight" valign="bottom"><b>lock_guard</b></td></tr>
+<tr class="separator:a6111c564da4caacffa898414b5990fb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An interface to a state for an i/o operation scheduled against an i/o multiplexer. </p>
+<p>You will need to ask the i/o multiplexer for how much storage, and alignment, is required to store one of these using <code>io_multiplexer::io_state_requirements()</code>. Be aware that for some i/o multiplexers, quite a lot of storage (e.g. &gt; 1Kb for IOCP on Windows) may be required. You can either preallocate i/o operation states for later use, or use other determinism-maintaining tricks to avoid dynamic memory allocation for i/o operation states.</p>
+<p>When you construct one of these using <code>io_multiplexer::init_io_operation()</code>, you must pass in a pointer to a <code>io_operation_state_visitor</code>. This visitor will be called whenever the lifecycle for the i/o state is about to change (it is called just before <code>.current_state()</code> is changed, and with any per-state locks held).</p>
+<p>The lifecycle for one of these is as follows:</p>
+<ol type="1">
+<li>i/o initialised. This is after <code>io_multiplexer::init_io_operation()</code> has been called to initialise the i/o operation state. You can now no longer relocate the i/o operation state in memory until the corresponding <code>*_finished()</code> visitor function is called.</li>
+<li>i/o initiated. One is notified of this by the call of the corresponding visitor <code>*_initiated()</code> function. This may occur in <code>io_multiplexer::init_io_operation()</code>, in <code>io_multiplexer::flush_inited_io_operations()</code>, or <b>never at all</b> if the i/o completed immediately.</li>
+<li>When the i/o completes, one is notified of the i/o's result by the call of the corresponding <code>*_completed()</code> visitor function. This can occur <em>at any time</em>, and can be called by <b>any</b> kernel thread, if the i/o multiplexer in use is used by multiple kernel threads. The completion functions are <em>usually</em> invoked by somebody calling <code>io_multiplexer::check_io_operation()</code> or <code>io_multiplexer::check_for_any_completed_io()</code>, but may also be called by an asynchronous system agent.</li>
+<li>The i/o operation state may still be in use by others. You must not relocate in memory the i/o operation state after <code>io_multiplexer::init_io_operation()</code> returns until the corresponding <code>*_finished()</code> visitor function is called. </li>
+</ol>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.js
new file mode 100644
index 00000000..159a34cf
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.js
@@ -0,0 +1,17 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state =
+[
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard" ],
+ [ "io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#abd0c1c217adbd06f9cffa25478b2cd9b", null ],
+ [ "io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a4371c9d03ecb1decec7c68ca0f2c6b92", null ],
+ [ "~io_operation_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a5118253f4c5082ca82649be979dfbc20", null ],
+ [ "_lock", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a01b43e5fc4b158b62f809eb7974bc9b6", null ],
+ [ "_unlock", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a84e74147ea57e8276546fb28cb0a20c7", null ],
+ [ "current_state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a8343534126338d7647913831a04fcde1", null ],
+ [ "get_completed_read", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af660d4ec2843dd1192cbb16e62c7d4e2", null ],
+ [ "get_completed_write_or_barrier", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#af79be80a27c2e1096beaf30a14db961a", null ],
+ [ "invoke", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a67cdbe474e7378d0242523e4f3057fbc", null ],
+ [ "relocate_to", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a33c77102ba227c122bff95afd2765105", null ],
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a6111c564da4caacffa898414b5990fb1", null ],
+ [ "h", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae", null ],
+ [ "visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.png
new file mode 100644
index 00000000..956e6a05
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard-members.html
new file mode 100644
index 00000000..ed41bd00
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_locked</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022">lock</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996">lock_guard</a>(io_operation_state *_state, bool lock=true)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>lock_guard</b>(const lock_guard &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_guard</b>(lock_guard &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const lock_guard &amp;)=delete (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(lock_guard &amp;&amp;o) noexcept (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>state</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382">unlock</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~lock_guard</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html
new file mode 100644
index 00000000..76419a4e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state::lock_guard Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Used by the visitor to control the state lock.
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a10b11fc79c1d85e42e54c8636ca94996"><td class="memItemLeft" align="right" valign="top"><a id="a10b11fc79c1d85e42e54c8636ca94996"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996">lock_guard</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *_state, bool <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022">lock</a>=true)</td></tr>
+<tr class="memdesc:a10b11fc79c1d85e42e54c8636ca94996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an instance. <br /></td></tr>
+<tr class="separator:a10b11fc79c1d85e42e54c8636ca94996"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22628597533a471ff24f587878817a0c"><td class="memItemLeft" align="right" valign="top"><a id="a22628597533a471ff24f587878817a0c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>lock_guard</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;)=delete</td></tr>
+<tr class="separator:a22628597533a471ff24f587878817a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aca12590d887eb55bccb4c5385fa2bfdf"><td class="memItemLeft" align="right" valign="top"><a id="aca12590d887eb55bccb4c5385fa2bfdf"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;)=delete</td></tr>
+<tr class="separator:aca12590d887eb55bccb4c5385fa2bfdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdd381bc02871c0f03a864c358440c0b"><td class="memItemLeft" align="right" valign="top"><a id="afdd381bc02871c0f03a864c358440c0b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>lock_guard</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:afdd381bc02871c0f03a864c358440c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a274efbaa733f39ac2d9616da3ff89b65"><td class="memItemLeft" align="right" valign="top"><a id="a274efbaa733f39ac2d9616da3ff89b65"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;&amp;o) noexcept</td></tr>
+<tr class="separator:a274efbaa733f39ac2d9616da3ff89b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e5ae1554a8197500dafe1ca410a2382"><td class="memItemLeft" align="right" valign="top"><a id="a7e5ae1554a8197500dafe1ca410a2382"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382">unlock</a> ()</td></tr>
+<tr class="memdesc:a7e5ae1554a8197500dafe1ca410a2382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the lock, if it is locked. <br /></td></tr>
+<tr class="separator:a7e5ae1554a8197500dafe1ca410a2382"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a350db0a1b4b233efe5d49c4b279022"><td class="memItemLeft" align="right" valign="top"><a id="a1a350db0a1b4b233efe5d49c4b279022"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022">lock</a> ()</td></tr>
+<tr class="memdesc:a1a350db0a1b4b233efe5d49c4b279022"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relocks the lock, if it is unlocked. <br /></td></tr>
+<tr class="separator:a1a350db0a1b4b233efe5d49c4b279022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0494a80eaf01a43e614d5d49a81fa091"><td class="memItemLeft" align="right" valign="top"><a id="a0494a80eaf01a43e614d5d49a81fa091"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>state</b> {nullptr}</td></tr>
+<tr class="separator:a0494a80eaf01a43e614d5d49a81fa091"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5acf279695133a7f0b69f196fa2cc77f"><td class="memItemLeft" align="right" valign="top"><a id="a5acf279695133a7f0b69f196fa2cc77f"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_locked</b> {false}</td></tr>
+<tr class="separator:a5acf279695133a7f0b69f196fa2cc77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Used by the visitor to control the state lock. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.js
new file mode 100644
index 00000000..82f9596e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.js
@@ -0,0 +1,13 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard =
+[
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a10b11fc79c1d85e42e54c8636ca94996", null ],
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a22628597533a471ff24f587878817a0c", null ],
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#afdd381bc02871c0f03a864c358440c0b", null ],
+ [ "~lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#ad95fbd2893362176bb80317ac4af6681", null ],
+ [ "lock", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a1a350db0a1b4b233efe5d49c4b279022", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#aca12590d887eb55bccb4c5385fa2bfdf", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a274efbaa733f39ac2d9616da3ff89b65", null ],
+ [ "unlock", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a7e5ae1554a8197500dafe1ca410a2382", null ],
+ [ "is_locked", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a5acf279695133a7f0b69f196fa2cc77f", null ],
+ [ "state", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html#a0494a80eaf01a43e614d5d49a81fa091", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor-members.html
new file mode 100644
index 00000000..7d4b670e
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor-members.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">barrier_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; const_buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">barrier_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lock_guard</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">read_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87">read_finished</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">read_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">write_completed</a>(lock_guard &amp;, io_operation_state_type, io_result&lt; const_buffers_type &gt; &amp;&amp;)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">write_initiated</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd">write_or_barrier_finished</a>(lock_guard &amp;, io_operation_state_type)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_operation_state_visitor</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html
new file mode 100644
index 00000000..5935f52c
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::io_operation_state_visitor Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::io_operation_state_visitor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Called by an i/o operation state to inform you of state change. Note that the i/o operation state lock is HELD during these calls!
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::io_operation_state_visitor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_5Fvisitor_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_5Fvisitor_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::io_5Foperation_5Fstate_5Fvisitor_map">
+<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1awaitable.html" title="A convenience coroutine awaitable type returned by .co_read(), .co_write() and .co_barrier()...." alt="llfio_v2_xxx::io_multiplexer::awaitable&lt; T &gt;" shape="rect" coords="0,56,311,80"/>
+ </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab290d8f6ae07e4bcc37b1de73f4457c0"><td class="memItemLeft" align="right" valign="top"><a id="ab290d8f6ae07e4bcc37b1de73f4457c0"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>lock_guard</b> = <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">io_operation_state::lock_guard</a></td></tr>
+<tr class="separator:ab290d8f6ae07e4bcc37b1de73f4457c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae46b4b960372e5dad3a53d45150b01a1"><td class="memItemLeft" align="right" valign="top"><a id="ae46b4b960372e5dad3a53d45150b01a1"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1">read_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:ae46b4b960372e5dad3a53d45150b01a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:ae46b4b960372e5dad3a53d45150b01a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1b0710e718b9edc638d59efb23ee94e"><td class="memItemLeft" align="right" valign="top"><a id="ac1b0710e718b9edc638d59efb23ee94e"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e">read_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:ac1b0710e718b9edc638d59efb23ee94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:ac1b0710e718b9edc638d59efb23ee94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafc3cdc2d9f2376b57ea671bcc938c87"><td class="memItemLeft" align="right" valign="top"><a id="aafc3cdc2d9f2376b57ea671bcc938c87"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87">read_finished</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:aafc3cdc2d9f2376b57ea671bcc938c87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has finished, and its state can now be destroyed. <br /></td></tr>
+<tr class="separator:aafc3cdc2d9f2376b57ea671bcc938c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b0f655751f5fdefee3557cebe469a06"><td class="memItemLeft" align="right" valign="top"><a id="a0b0f655751f5fdefee3557cebe469a06"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06">write_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:a0b0f655751f5fdefee3557cebe469a06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:a0b0f655751f5fdefee3557cebe469a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="memItemLeft" align="right" valign="top"><a id="a5fc354bd51e2fbc006f2d5c7772268f1"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1">write_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:a5fc354bd51e2fbc006f2d5c7772268f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2782aa849f1881bd782da6714ec5435a"><td class="memItemLeft" align="right" valign="top"><a id="a2782aa849f1881bd782da6714ec5435a"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a">barrier_initiated</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:a2782aa849f1881bd782da6714ec5435a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has been initiated, and is now being processed asynchronously. <br /></td></tr>
+<tr class="separator:a2782aa849f1881bd782da6714ec5435a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9ded29fcb56dcbb2da09a8283522fde"><td class="memItemLeft" align="right" valign="top"><a id="ad9ded29fcb56dcbb2da09a8283522fde"></a>
+virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde">barrier_completed</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;)</td></tr>
+<tr class="memdesc:ad9ded29fcb56dcbb2da09a8283522fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has completed, and its result is available. Return true if you consume the result. <br /></td></tr>
+<tr class="separator:ad9ded29fcb56dcbb2da09a8283522fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aebc252f2af1bd28a52f2007dc0469dcd"><td class="memItemLeft" align="right" valign="top"><a id="aebc252f2af1bd28a52f2007dc0469dcd"></a>
+virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd">write_or_barrier_finished</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;, <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)</td></tr>
+<tr class="memdesc:aebc252f2af1bd28a52f2007dc0469dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when an i/o has finished, and its state can now be destroyed. <br /></td></tr>
+<tr class="separator:aebc252f2af1bd28a52f2007dc0469dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Called by an i/o operation state to inform you of state change. Note that the i/o operation state lock is HELD during these calls! </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.js
new file mode 100644
index 00000000..26c2adfd
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.js
@@ -0,0 +1,13 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor =
+[
+ [ "lock_guard", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ab290d8f6ae07e4bcc37b1de73f4457c0", null ],
+ [ "~io_operation_state_visitor", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aee18da8642e904dca9fa1fdd329ca8da", null ],
+ [ "barrier_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ad9ded29fcb56dcbb2da09a8283522fde", null ],
+ [ "barrier_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a2782aa849f1881bd782da6714ec5435a", null ],
+ [ "read_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ac1b0710e718b9edc638d59efb23ee94e", null ],
+ [ "read_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aafc3cdc2d9f2376b57ea671bcc938c87", null ],
+ [ "read_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#ae46b4b960372e5dad3a53d45150b01a1", null ],
+ [ "write_completed", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a5fc354bd51e2fbc006f2d5c7772268f1", null ],
+ [ "write_initiated", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#a0b0f655751f5fdefee3557cebe469a06", null ],
+ [ "write_or_barrier_finished", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html#aebc252f2af1bd28a52f2007dc0469dcd", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.png
new file mode 100644
index 00000000..108d0a52
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__request-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request-members.html
index 12babcf8..6c94cd12 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__request-members.html
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1io__request.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,16 +83,16 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::io_request&lt; T &gt; Member List</div> </div>
+<div class="title">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>io_request</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b>(T _buffers, extent_type _offset) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>offset</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">llfio_v2_xxx::io_handle::io_request&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_request</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_request</b>(T _buffers, extent_type _offset) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>offset</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__request.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html
index 99a9b3a8..5c0d0dd1 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__request.html
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_handle::io_request&lt; T &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1io__request.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,49 +85,49 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="structllfio__v2__xxx_1_1io__handle_1_1io__request-members.html">List of all members</a> </div>
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::io_request&lt; T &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>.
- <a href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html#details">More...</a></p>
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#details">More...</a></p>
-<p><code>#include &quot;io_handle.hpp&quot;</code></p>
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:a20032ac44283d6cd752da0db53229f53"><td class="memItemLeft" align="right" valign="top"><a id="a20032ac44283d6cd752da0db53229f53"></a>
+<tr class="memitem:a69b2277c0380ceaa1ba4ec5b7db2393a"><td class="memItemLeft" align="right" valign="top"><a id="a69b2277c0380ceaa1ba4ec5b7db2393a"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>io_request</b> (T _buffers, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> _offset)</td></tr>
-<tr class="separator:a20032ac44283d6cd752da0db53229f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a69b2277c0380ceaa1ba4ec5b7db2393a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:a5bf8e3905f91fb5455088bdbc4cffb33"><td class="memItemLeft" align="right" valign="top"><a id="a5bf8e3905f91fb5455088bdbc4cffb33"></a>
+<tr class="memitem:af0f3675316aad33663b29fbcc18ecd13"><td class="memItemLeft" align="right" valign="top"><a id="af0f3675316aad33663b29fbcc18ecd13"></a>
T&#160;</td><td class="memItemRight" valign="bottom"><b>buffers</b> {}</td></tr>
-<tr class="separator:a5bf8e3905f91fb5455088bdbc4cffb33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a185c78f884dd4ca0cd2fe49916903dae"><td class="memItemLeft" align="right" valign="top"><a id="a185c78f884dd4ca0cd2fe49916903dae"></a>
+<tr class="separator:af0f3675316aad33663b29fbcc18ecd13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04660f54ccc5b567f5eab5c17c6b2603"><td class="memItemLeft" align="right" valign="top"><a id="a04660f54ccc5b567f5eab5c17c6b2603"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>offset</b> {0}</td></tr>
-<tr class="separator:a185c78f884dd4ca0cd2fe49916903dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a04660f54ccc5b567f5eab5c17c6b2603"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br />
-struct llfio_v2_xxx::io_handle::io_request&lt; T &gt;</h3>
+struct llfio_v2_xxx::io_multiplexer::io_request&lt; T &gt;</h3>
<p>The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a></li>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.js
new file mode 100644
index 00000000..bd794201
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.js
@@ -0,0 +1,7 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1io__request =
+[
+ [ "io_request", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#aaa060d6a214d592e7d3e99e65c0071e5", null ],
+ [ "io_request", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#a69b2277c0380ceaa1ba4ec5b7db2393a", null ],
+ [ "buffers", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#af0f3675316aad33663b29fbcc18ecd13", null ],
+ [ "offset", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html#a04660f54ccc5b567f5eab5c17c6b2603", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result-members.html
index 59800a26..1eb124fd 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1io__result.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,21 +83,21 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::io_result&lt; T &gt; Member List</div> </div>
+<div class="title">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt; Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bytes_transferred</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>Base</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a">bytes_transferred</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_result</b>(const io_result &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>(io_result &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(io_result &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const io_result &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_result</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_bytes_transferred</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>Base</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff">bytes_transferred</a>() noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_result</b>(const io_result &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>(io_result &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(io_result &amp;&amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const io_result &amp;)=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_result</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -103,7 +105,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result.html b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html
index 2743b1e2..9c9f6bed 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::io_handle::io_result&lt; T &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1io__result.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,73 +86,71 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html">List of all members</a> </div>
+<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_handle::io_result&lt; T &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction.
- <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a></p>
+ <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#details">More...</a></p>
-<p><code>#include &quot;io_handle.hpp&quot;</code></p>
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
<div class="dynheader">
-Inheritance diagram for llfio_v2_xxx::io_handle::io_result&lt; T &gt;:</div>
+Inheritance diagram for llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
- <img src="structllfio__v2__xxx_1_1io__handle_1_1io__result.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fhandle::io_5Fresult_3C_20T_20_3E_map" alt=""/>
- <map id="llfio_5Fv2_5Fxxx::io_5Fhandle::io_5Fresult_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::io_5Fhandle::io_5Fresult_3C_20T_20_3E_map">
-</map>
+ <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:acc75d0f4c3003db5eed4d6ef1122e77a"><td class="memItemLeft" align="right" valign="top"><a id="acc75d0f4c3003db5eed4d6ef1122e77a"></a>
+<tr class="memitem:a445b7d9b33e0b14bac8425fe5cef90e0"><td class="memItemLeft" align="right" valign="top"><a id="a445b7d9b33e0b14bac8425fe5cef90e0"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>Base</b> = llfio_v2_xxx::result&lt; T &gt;</td></tr>
-<tr class="separator:acc75d0f4c3003db5eed4d6ef1122e77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a445b7d9b33e0b14bac8425fe5cef90e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
-<tr class="memitem:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memItemLeft" align="right" valign="top"><a id="ab4cec8941a442e257aab1f0fd615a8a3"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90bee69c746e646458e0d255ce18668d"><td class="memItemLeft" align="right" valign="top"><a id="a90bee69c746e646458e0d255ce18668d"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
-<tr class="separator:a90bee69c746e646458e0d255ce18668d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a5c16b320edf9894dfc1f1f9f817d18"><td class="memItemLeft" align="right" valign="top"><a id="a5a5c16b320edf9894dfc1f1f9f817d18"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
-<tr class="separator:a5a5c16b320edf9894dfc1f1f9f817d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea1d610bc13166971300720b194feb64"><td class="memItemLeft" align="right" valign="top"><a id="aea1d610bc13166971300720b194feb64"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:aea1d610bc13166971300720b194feb64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58e05cc0f5fe29282c69d44e6797d41a"><td class="memItemLeft" align="right" valign="top"><a id="a58e05cc0f5fe29282c69d44e6797d41a"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a">bytes_transferred</a> () noexcept</td></tr>
-<tr class="memdesc:a58e05cc0f5fe29282c69d44e6797d41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bytes transferred. <br /></td></tr>
-<tr class="separator:a58e05cc0f5fe29282c69d44e6797d41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3645ef96bd25988a311927ef958b9286"><td class="memItemLeft" align="right" valign="top"><a id="a3645ef96bd25988a311927ef958b9286"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a3645ef96bd25988a311927ef958b9286"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24c0f3c8835b190aa68b62c63b2785ad"><td class="memItemLeft" align="right" valign="top"><a id="a24c0f3c8835b190aa68b62c63b2785ad"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
+<tr class="separator:a24c0f3c8835b190aa68b62c63b2785ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a81cfe21db8a4f042ce46a9c89ec743a2"><td class="memItemLeft" align="right" valign="top"><a id="a81cfe21db8a4f042ce46a9c89ec743a2"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
+<tr class="separator:a81cfe21db8a4f042ce46a9c89ec743a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80018e9da3c27dca3f825fe3ebbfbf62"><td class="memItemLeft" align="right" valign="top"><a id="a80018e9da3c27dca3f825fe3ebbfbf62"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:a80018e9da3c27dca3f825fe3ebbfbf62"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e3b4b1f10afdef025e4b938a34902ff"><td class="memItemLeft" align="right" valign="top"><a id="a7e3b4b1f10afdef025e4b938a34902ff"></a>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff">bytes_transferred</a> () noexcept</td></tr>
+<tr class="memdesc:a7e3b4b1f10afdef025e4b938a34902ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bytes transferred. <br /></td></tr>
+<tr class="separator:a7e3b4b1f10afdef025e4b938a34902ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:a458ac6f7315d452180e7ed89f9ceba83"><td class="memItemLeft" align="right" valign="top"><a id="a458ac6f7315d452180e7ed89f9ceba83"></a>
+<tr class="memitem:a3996c7aa135d6a221a0c04e199cf3dee"><td class="memItemLeft" align="right" valign="top"><a id="a3996c7aa135d6a221a0c04e199cf3dee"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_bytes_transferred</b> {static_cast&lt;<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&gt;(-1)}</td></tr>
-<tr class="separator:a458ac6f7315d452180e7ed89f9ceba83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a3996c7aa135d6a221a0c04e199cf3dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br />
-struct llfio_v2_xxx::io_handle::io_result&lt; T &gt;</h3>
+struct llfio_v2_xxx::io_multiplexer::io_result&lt; T &gt;</h3>
<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
- <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a></li>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.js b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.js
new file mode 100644
index 00000000..c6ec0053
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.js
@@ -0,0 +1,12 @@
+var structllfio__v2__xxx_1_1io__multiplexer_1_1io__result =
+[
+ [ "Base", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a445b7d9b33e0b14bac8425fe5cef90e0", null ],
+ [ "io_result", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a50e820845148e148e5093f561f2ced6d", null ],
+ [ "~io_result", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a5fe282d6dd7c7511d873bb5d78e1f8f1", null ],
+ [ "io_result", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a24c0f3c8835b190aa68b62c63b2785ad", null ],
+ [ "io_result", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a80018e9da3c27dca3f825fe3ebbfbf62", null ],
+ [ "bytes_transferred", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a7e3b4b1f10afdef025e4b938a34902ff", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a81cfe21db8a4f042ce46a9c89ec743a2", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a3645ef96bd25988a311927ef958b9286", null ],
+ [ "_bytes_transferred", "structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html#a3996c7aa135d6a221a0c04e199cf3dee", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.png b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.png
new file mode 100644
index 00000000..250c1b40
--- /dev/null
+++ b/structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.js b/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.js
deleted file mode 100644
index 8e5f5725..00000000
--- a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self =
-[
- [ "awaitable_post_to_self", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85", null ],
- [ "await_ready", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a36478f1b79b50373f6f2336c5d492501", null ],
- [ "await_resume", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a8699e5b9a1245b99956fdd584249b18c", null ],
- [ "await_suspend", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a00191d017cabcae0bd140d8027174ad7", null ],
- [ "service", "structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#abe3c60300a5c6ba7d5b79cb80c0d06c4", null ]
-]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1native__handle__type-members.html b/structllfio__v2__xxx_1_1native__handle__type-members.html
index af0dd48b..9a9cc6ae 100644
--- a/structllfio__v2__xxx_1_1native__handle__type-members.html
+++ b/structllfio__v2__xxx_1_1native__handle__type-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,33 +89,35 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_init</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">fd</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>behaviour</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763">is_allocation</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa">is_nonblocking</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e">is_pipe</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c">native_handle_type</a>(disposition _behaviour, int _fd) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524">native_handle_type</a>(disposition _behaviour, win::handle _h) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9">native_handle_type</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d">native_handle_type</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c">operator!</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450">is_socket</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c">native_handle_type</a>(disposition _behaviour, int _fd) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524">native_handle_type</a>(disposition _behaviour, win::handle _h) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9">native_handle_type</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d">native_handle_type</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c">operator!</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1">operator!=</a>(const native_handle_type &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29">operator=</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415">operator=</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc">pid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73">operator==</a>(const native_handle_type &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">QUICKCPPLIB_BITFIELD_BEGIN</a>(disposition)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(disposition) disposition behaviour (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">QUICKCPPLIB_BITFIELD_END</a>(disposition) union</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e">swap</a>(native_handle_type &amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~native_handle_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
@@ -124,7 +128,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1native__handle__type.html b/structllfio__v2__xxx_1_1native__handle__type.html
index cc4620a8..46cb8d91 100644
--- a/structllfio__v2__xxx_1_1native__handle__type.html
+++ b/structllfio__v2__xxx_1_1native__handle__type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::native_handle_type Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -97,14 +99,12 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aab66573d64b32857ecc113b87dd56489"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">QUICKCPPLIB_BITFIELD_BEGIN</a> (disposition)</td></tr>
-<tr class="memdesc:aab66573d64b32857ecc113b87dd56489"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of handle. <a href="#aab66573d64b32857ecc113b87dd56489">More...</a><br /></td></tr>
+<tr class="memdesc:aab66573d64b32857ecc113b87dd56489"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of handle. <a href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">More...</a><br /></td></tr>
<tr class="separator:aab66573d64b32857ecc113b87dd56489"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2329417e016cd5ccd01794937c4eec3b"><td class="memItemLeft" align="right" valign="top"><a id="a2329417e016cd5ccd01794937c4eec3b"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (disposition) disposition behaviour</td></tr>
-<tr class="separator:a2329417e016cd5ccd01794937c4eec3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af9eb6d201364aae2e933da37caa4c1dd"><td class="memItemLeft" align="right" valign="top"><a id="af9eb6d201364aae2e933da37caa4c1dd"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a> ()</td></tr>
-<tr class="memdesc:af9eb6d201364aae2e933da37caa4c1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a default instance. <br /></td></tr>
+<tr class="memitem:aefed8c6f2ff66097dc7cb88b6f439db6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">QUICKCPPLIB_BITFIELD_END</a> (disposition) union</td></tr>
+<tr class="separator:aefed8c6f2ff66097dc7cb88b6f439db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9eb6d201364aae2e933da37caa4c1dd"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a> ()</td></tr>
+<tr class="memdesc:af9eb6d201364aae2e933da37caa4c1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a default instance. <a href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">More...</a><br /></td></tr>
<tr class="separator:af9eb6d201364aae2e933da37caa4c1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa014dc4620266c5e79ff574eab95559c"><td class="memItemLeft" align="right" valign="top"><a id="aa014dc4620266c5e79ff574eab95559c"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c">native_handle_type</a> (disposition _behaviour, int _fd) noexcept</td></tr>
@@ -142,6 +142,14 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c">operator!</a> () const noexcept</td></tr>
<tr class="memdesc:af51f8cd2e901aa8fc6862eb85e66b20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if invalid. <br /></td></tr>
<tr class="separator:af51f8cd2e901aa8fc6862eb85e66b20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cbeaf944ae68ff5811bd35b49767e73"><td class="memItemLeft" align="right" valign="top"><a id="a4cbeaf944ae68ff5811bd35b49767e73"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73">operator==</a> (const <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a4cbeaf944ae68ff5811bd35b49767e73"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if equal. <br /></td></tr>
+<tr class="separator:a4cbeaf944ae68ff5811bd35b49767e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79de434e090572c409a53f70146a0ed1"><td class="memItemLeft" align="right" valign="top"><a id="a79de434e090572c409a53f70146a0ed1"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1">operator!=</a> (const <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a79de434e090572c409a53f70146a0ed1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if unequal. <br /></td></tr>
+<tr class="separator:a79de434e090572c409a53f70146a0ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa179d5ae7c29ddec6b3d043d83c48444"><td class="memItemLeft" align="right" valign="top"><a id="aa179d5ae7c29ddec6b3d043d83c48444"></a>
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444">is_valid</a> () const noexcept</td></tr>
<tr class="memdesc:aa179d5ae7c29ddec6b3d043d83c48444"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is valid. <br /></td></tr>
@@ -158,10 +166,10 @@ constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d">is_append_only</a> () const noexcept</td></tr>
<tr class="memdesc:a38054fed025ad3deec2b5a5494e7e57d"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the handle is append only. <br /></td></tr>
<tr class="separator:a38054fed025ad3deec2b5a5494e7e57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac392ebf1b70123ed39196591a06bded5"><td class="memItemLeft" align="right" valign="top"><a id="ac392ebf1b70123ed39196591a06bded5"></a>
-constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5">is_overlapped</a> () const noexcept</td></tr>
-<tr class="memdesc:ac392ebf1b70123ed39196591a06bded5"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if overlapped. <br /></td></tr>
-<tr class="separator:ac392ebf1b70123ed39196591a06bded5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5b2862752c1af2b4419a5fefa4938aa"><td class="memItemLeft" align="right" valign="top"><a id="ae5b2862752c1af2b4419a5fefa4938aa"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa">is_nonblocking</a> () const noexcept</td></tr>
+<tr class="memdesc:ae5b2862752c1af2b4419a5fefa4938aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if nonblocking. <br /></td></tr>
+<tr class="separator:ae5b2862752c1af2b4419a5fefa4938aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb3c171595f7024ce75223b9f866caca"><td class="memItemLeft" align="right" valign="top"><a id="aeb3c171595f7024ce75223b9f866caca"></a>
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca">is_seekable</a> () const noexcept</td></tr>
<tr class="memdesc:aeb3c171595f7024ce75223b9f866caca"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if seekable. <br /></td></tr>
@@ -182,6 +190,14 @@ constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32">is_symlink</a> () const noexcept</td></tr>
<tr class="memdesc:ad6992242c9715661a4b737a21e860f32"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a symlink. <br /></td></tr>
<tr class="separator:ad6992242c9715661a4b737a21e860f32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6624b7cdc2d9bd750de87485b9a1555e"><td class="memItemLeft" align="right" valign="top"><a id="a6624b7cdc2d9bd750de87485b9a1555e"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e">is_pipe</a> () const noexcept</td></tr>
+<tr class="memdesc:a6624b7cdc2d9bd750de87485b9a1555e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a pipe. <br /></td></tr>
+<tr class="separator:a6624b7cdc2d9bd750de87485b9a1555e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ee5e453d67fadc701bdd6971cd85450"><td class="memItemLeft" align="right" valign="top"><a id="a7ee5e453d67fadc701bdd6971cd85450"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450">is_socket</a> () const noexcept</td></tr>
+<tr class="memdesc:a7ee5e453d67fadc701bdd6971cd85450"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a socket. <br /></td></tr>
+<tr class="separator:a7ee5e453d67fadc701bdd6971cd85450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9773fae5d91f769e281cc05df1f0e6c"><td class="memItemLeft" align="right" valign="top"><a id="aa9773fae5d91f769e281cc05df1f0e6c"></a>
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">is_multiplexer</a> () const noexcept</td></tr>
<tr class="memdesc:aa9773fae5d91f769e281cc05df1f0e6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP. <br /></td></tr>
@@ -194,33 +210,50 @@ constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8">is_section</a> () const noexcept</td></tr>
<tr class="memdesc:a06a72a1c1d822c05aa040e7bc06dc2a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory section. <br /></td></tr>
<tr class="separator:a06a72a1c1d822c05aa040e7bc06dc2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a390f2bbc4b0485179fa56ef275f97763"><td class="memItemLeft" align="right" valign="top"><a id="a390f2bbc4b0485179fa56ef275f97763"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763">is_allocation</a> () const noexcept</td></tr>
+<tr class="memdesc:a390f2bbc4b0485179fa56ef275f97763"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if a memory allocation. <br /></td></tr>
+<tr class="separator:a390f2bbc4b0485179fa56ef275f97763"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
-<tr class="memitem:a532ebde342768f6d77304e8e7846832a"><td class="memItemLeft" ><a id="a532ebde342768f6d77304e8e7846832a"></a>
-union {</td></tr>
-<tr class="memitem:a1f728845b9e31fbda2ba6d0dd4aa7e30"><td class="memItemLeft" >
-&#160;&#160;&#160;intptr_t&#160;&#160;&#160;<b>_init</b> {-1}</td></tr>
-<tr class="separator:a1f728845b9e31fbda2ba6d0dd4aa7e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5df3f342764867923f4eb5a0b0dc78d5"><td class="memItemLeft" >
-&#160;&#160;&#160;int&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">fd</a></td></tr>
-<tr class="memdesc:a5df3f342764867923f4eb5a0b0dc78d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A POSIX file descriptor. <br /></td></tr>
-<tr class="separator:a5df3f342764867923f4eb5a0b0dc78d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a603ac64e5ef92e4c4ef8b285556c3832"><td class="memItemLeft" >
-&#160;&#160;&#160;int&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc">pid</a></td></tr>
-<tr class="memdesc:a603ac64e5ef92e4c4ef8b285556c3832"><td class="mdescLeft">&#160;</td><td class="mdescRight">A POSIX process identifier. <br /></td></tr>
-<tr class="separator:a603ac64e5ef92e4c4ef8b285556c3832"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2ba6557aea3fa916206780e46e0a840"><td class="memItemLeft" >
-&#160;&#160;&#160;win::handle&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">h</a></td></tr>
-<tr class="memdesc:ac2ba6557aea3fa916206780e46e0a840"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Windows HANDLE. <br /></td></tr>
-<tr class="separator:ac2ba6557aea3fa916206780e46e0a840"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a532ebde342768f6d77304e8e7846832a"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
-<tr class="memdesc:a532ebde342768f6d77304e8e7846832a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the handle. <br /></td></tr>
-<tr class="separator:a532ebde342768f6d77304e8e7846832a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a967ace482f3fe7fd3c6e24bffee25888"><td class="memItemLeft" align="right" valign="top"><a id="a967ace482f3fe7fd3c6e24bffee25888"></a>
+disposition&#160;</td><td class="memItemRight" valign="bottom"><b>behaviour</b></td></tr>
+<tr class="separator:a967ace482f3fe7fd3c6e24bffee25888"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="af9eb6d201364aae2e933da37caa4c1dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9eb6d201364aae2e933da37caa4c1dd">&#9670;&nbsp;</a></span>native_handle_type()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::native_handle_type::native_handle_type </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Constructs a default instance. </p>
+<p>The behaviour of the handle </p>
+<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{} <span class="comment">// NOLINT</span></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
<a id="aab66573d64b32857ecc113b87dd56489"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab66573d64b32857ecc113b87dd56489">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</h2>
@@ -250,18 +283,96 @@ union {</td></tr>
<p>&lt; Is readable</p>
<p>&lt; Is writable</p>
<p>&lt; Is append only</p>
-<p>&lt; Requires additional synchronisation</p>
+<p>&lt; Requires additional synchronisation (Windows: <code>OVERLAPPED</code>; POSIX: <code>O_NONBLOCK</code>)</p>
<p>&lt; Is seekable</p>
<p>&lt; Requires sector aligned i/o (typically 512 or 4096)</p>
<p>&lt; Is a regular file</p>
<p>&lt; Is a directory</p>
<p>&lt; Is a symlink</p>
+<p>&lt; Is a pipe</p>
+<p>&lt; Is a socket</p>
<p>&lt; Is a kqueue/epoll/iocp</p>
<p>&lt; Is a child process</p>
-<p>&lt; Is a memory section </p>
-<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; invalid = 0U, <span class="comment">//!&lt; Invalid handle</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; readable = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Is readable</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> writable = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Is writable</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> append_only = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Is append only</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; overlapped = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Requires additional synchronisation</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> seekable = 1U &lt;&lt; 5U, <span class="comment">//!&lt; Is seekable</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> aligned_io = 1U &lt;&lt; 6U, <span class="comment">//!&lt; Requires sector aligned i/o (typically 512 or 4096)</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file</a> = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Is a regular file</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory</a> = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Is a directory</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> symlink = 1U &lt;&lt; 10U, <span class="comment">//!&lt; Is a symlink</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> multiplexer = 1U &lt;&lt; 11U, <span class="comment">//!&lt; Is a kqueue/epoll/iocp</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> process = 1U &lt;&lt; 12U, <span class="comment">//!&lt; Is a child process</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">section</a> = 1U &lt;&lt; 13U, <span class="comment">//!&lt; Is a memory section</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; _child_close_executed = 1U &lt;&lt; 28U <span class="comment">// used to trap when vptr has become corrupted</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3d112d170c1d485e1120de06eef02375"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; directory(const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:347</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:501</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_ac9be77116e7a2d8c029dd066dfa363fb"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:686</div></div>
+<p>&lt; Is a memory section</p>
+<p>&lt; Is a memory allocation</p>
+<p>&lt; Issue write reordering barriers at various points</p>
+<p>&lt; Is serving metadata from the kernel cache</p>
+<p>&lt; Is serving reads from the kernel cache</p>
+<p>&lt; Is writing back from kernel cache rather than writing through</p>
+<p>&lt; Writes are not flushed to storage quickly</p>
+<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; invalid = 0U, <span class="comment">//!&lt; Invalid handle</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; readable = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Is readable</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> writable = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Is writable</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> append_only = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Is append only</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; nonblocking = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Requires additional synchronisation (Windows: `OVERLAPPED`; POSIX: `O_NONBLOCK`)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> seekable = 1U &lt;&lt; 5U, <span class="comment">//!&lt; Is seekable</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> aligned_io = 1U &lt;&lt; 6U, <span class="comment">//!&lt; Requires sector aligned i/o (typically 512 or 4096)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file</a> = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Is a regular file</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory</a> = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Is a directory</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> symlink = 1U &lt;&lt; 10U, <span class="comment">//!&lt; Is a symlink</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> pipe = 1U &lt;&lt; 11U, <span class="comment">//!&lt; Is a pipe</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> socket = 1U &lt;&lt; 12U, <span class="comment">//!&lt; Is a socket</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">multiplexer</a> = 1U &lt;&lt; 13U, <span class="comment">//!&lt; Is a kqueue/epoll/iocp</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> process = 1U &lt;&lt; 14U, <span class="comment">//!&lt; Is a child process</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">section</a> = 1U &lt;&lt; 15U, <span class="comment">//!&lt; Is a memory section</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"></span> allocation = 1U &lt;&lt; 16U, <span class="comment">//!&lt; Is a memory allocation</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; safety_barriers = 1U &lt;&lt; 20U, <span class="comment">//!&lt; Issue write reordering barriers at various points</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> cache_metadata = 1U &lt;&lt; 21U, <span class="comment">//!&lt; Is serving metadata from the kernel cache</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> cache_reads = 1U &lt;&lt; 22U, <span class="comment">//!&lt; Is serving reads from the kernel cache</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> cache_writes = 1U &lt;&lt; 23U, <span class="comment">//!&lt; Is writing back from kernel cache rather than writing through</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> cache_temporary = 1U &lt;&lt; 24U, <span class="comment">//!&lt; Writes are not flushed to storage quickly</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; _is_connected = 1U &lt;&lt; 28U, <span class="comment">// used by pipe_handle on Windows to store connectedness</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; _multiplexer_state_bit0 = 1U &lt;&lt; 29U, <span class="comment">// per-handle state bits used by an i/o multiplexer</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; _multiplexer_state_bit1 = 1U &lt;&lt; 30U, <span class="comment">// per-handle state bits used by an i/o multiplexer</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; _child_close_executed = 1U &lt;&lt; 31U <span class="comment">// used to trap when vptr has become corrupted</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; } <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">QUICKCPPLIB_BITFIELD_END</a>(disposition)</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aefed8c6f2ff66097dc7cb88b6f439db6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aefed8c6f2ff66097dc7cb88b6f439db6">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_END()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_END </td>
+ <td>(</td>
+ <td class="paramtype">disposition&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>A POSIX file descriptor</p>
+<p>A POSIX process identifier</p>
+<p>A Windows HANDLE</p>
+<p>A third party pointer</p>
+<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; intptr_t _init{-1};<span class="comment"></span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> //! A POSIX file descriptor</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span> <span class="keywordtype">int</span> fd; <span class="comment">// NOLINT</span><span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> //! A POSIX process identifier</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"></span> <span class="keywordtype">int</span> pid; <span class="comment">// NOLINT</span><span class="comment"></span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> //! A Windows HANDLE</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"></span> win::handle h; <span class="comment">// NOLINT</span><span class="comment"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> //! A third party pointer</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> *ptr;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; };</div>
</div><!-- fragment -->
</div>
</div>
@@ -270,13 +381,18 @@ union {</td></tr>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1native__handle__type_html_aefed8c6f2ff66097dc7cb88b6f439db6"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6">llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_END</a></div><div class="ttdeci">QUICKCPPLIB_BITFIELD_END(disposition) union</div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:76</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_a3d112d170c1d485e1120de06eef02375"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; directory(const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:394</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_1_1this__thread_html_afd6a1f179a8f8027f6c051badadf2707"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1this__thread.html#afd6a1f179a8f8027f6c051badadf2707">llfio_v2_xxx::this_thread::multiplexer</a></div><div class="ttdeci">io_multiplexer * multiplexer() noexcept</div><div class="ttdoc">Return the calling thread's current i/o multiplexer.</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:418</div></div>
+<div class="ttc" id="anamespacellfio__v2__xxx_html_ac9be77116e7a2d8c029dd066dfa363fb"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file.</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:899</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1native__handle__type.js b/structllfio__v2__xxx_1_1native__handle__type.js
index 16fefd5b..616797f9 100644
--- a/structllfio__v2__xxx_1_1native__handle__type.js
+++ b/structllfio__v2__xxx_1_1native__handle__type.js
@@ -6,28 +6,30 @@ var structllfio__v2__xxx_1_1native__handle__type =
[ "native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524", null ],
[ "native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9", null ],
[ "native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d", null ],
+ [ "is_allocation", "structllfio__v2__xxx_1_1native__handle__type.html#a390f2bbc4b0485179fa56ef275f97763", null ],
[ "is_append_only", "structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d", null ],
[ "is_directory", "structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd", null ],
[ "is_multiplexer", "structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c", null ],
- [ "is_overlapped", "structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5", null ],
+ [ "is_nonblocking", "structllfio__v2__xxx_1_1native__handle__type.html#ae5b2862752c1af2b4419a5fefa4938aa", null ],
+ [ "is_pipe", "structllfio__v2__xxx_1_1native__handle__type.html#a6624b7cdc2d9bd750de87485b9a1555e", null ],
[ "is_process", "structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45", null ],
[ "is_readable", "structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672", null ],
[ "is_regular", "structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd", null ],
[ "is_section", "structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8", null ],
[ "is_seekable", "structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca", null ],
+ [ "is_socket", "structllfio__v2__xxx_1_1native__handle__type.html#a7ee5e453d67fadc701bdd6971cd85450", null ],
[ "is_symlink", "structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32", null ],
[ "is_valid", "structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444", null ],
[ "is_writable", "structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078", null ],
[ "operator bool", "structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3", null ],
[ "operator!", "structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c", null ],
+ [ "operator!=", "structllfio__v2__xxx_1_1native__handle__type.html#a79de434e090572c409a53f70146a0ed1", null ],
[ "operator=", "structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29", null ],
[ "operator=", "structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415", null ],
+ [ "operator==", "structllfio__v2__xxx_1_1native__handle__type.html#a4cbeaf944ae68ff5811bd35b49767e73", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489", null ],
- [ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1native__handle__type.html#a2329417e016cd5ccd01794937c4eec3b", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1native__handle__type.html#aefed8c6f2ff66097dc7cb88b6f439db6", null ],
[ "requires_aligned_io", "structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed", null ],
[ "swap", "structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e", null ],
- [ "_init", "structllfio__v2__xxx_1_1native__handle__type.html#a4b4b6662c7efc8b95937a60cf6285d3a", null ],
- [ "fd", "structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af", null ],
- [ "h", "structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481", null ],
- [ "pid", "structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc", null ]
+ [ "behaviour", "structllfio__v2__xxx_1_1native__handle__type.html#a967ace482f3fe7fd3c6e24bffee25888", null ]
]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path-members.html b/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path-members.html
index 320b28a8..96f8182e 100644
--- a/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path-members.html
+++ b/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__discover
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html b/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html
index 3d986146..ecd6aac8 100644
--- a/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html
+++ b/structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_discovery::discovered_path Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -104,8 +106,8 @@ Public Types</h2></td></tr>
<br />
&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354">source_type::hardcoded</a>
<br />
- }<tr class="memdesc:ae02f172851c050f6a7f5929410428c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source of the discovered path. <a href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d">More...</a><br /></td></tr>
-</td></tr>
+ }</td></tr>
+<tr class="memdesc:ae02f172851c050f6a7f5929410428c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source of the discovered path. <a href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d">More...</a><br /></td></tr>
<tr class="separator:ae02f172851c050f6a7f5929410428c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
@@ -154,7 +156,13 @@ enum <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__
<tr><td class="fieldname"><a id="ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354"></a>hardcoded&#160;</td><td class="fielddoc"><p>This path came from an internal hardcoded list of paths likely for this system. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; unknown, <span class="comment">//!&lt; This path comes from an unknown source.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> local, <span class="comment">//!&lt; This path was added locally.</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> environment, <span class="comment">//!&lt; This path came from an environment variable (an override?).</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> system, <span class="comment">//!&lt; This path came from querying the system.</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> hardcoded <span class="comment">//!&lt; This path came from an internal hardcoded list of paths likely for this system.</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> } source{<a class="code" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a">source_type::unknown</a>};</div><div class="ttc" id="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path_html_ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a"><div class="ttname"><a href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a">llfio_v2_xxx::path_discovery::discovered_path::source_type::unknown</a></div><div class="ttdoc">This path comes from an unknown source. </div></div>
+<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; unknown, <span class="comment">//!&lt; This path comes from an unknown source.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span> local, <span class="comment">//!&lt; This path was added locally.</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span> environment, <span class="comment">//!&lt; This path came from an environment variable (an override?).</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"></span> system, <span class="comment">//!&lt; This path came from querying the system.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> hardcoded <span class="comment">//!&lt; This path came from an internal hardcoded list of paths likely for this system.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> } source{<a class="code" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a">source_type::unknown</a>};</div>
</div><!-- fragment -->
</div>
</div>
@@ -194,13 +202,14 @@ enum <a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1path__discovery_1_1discovered__path_html_ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a"><div class="ttname"><a href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a">llfio_v2_xxx::path_discovery::discovered_path::source_type::unknown</a></div><div class="ttdeci">@ unknown</div><div class="ttdoc">This path comes from an unknown source.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html">path_discovery</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html">discovered_path</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1path__hasher-members.html b/structllfio__v2__xxx_1_1path__hasher-members.html
index d49fc7f2..85db9fa8 100644
--- a/structllfio__v2__xxx_1_1path__hasher-members.html
+++ b/structllfio__v2__xxx_1_1path__hasher-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__hasher.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__hasher.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__hasher.h
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1path__hasher.html b/structllfio__v2__xxx_1_1path__hasher.html
index 4cddfa10..b593e670 100644
--- a/structllfio__v2__xxx_1_1path__hasher.html
+++ b/structllfio__v2__xxx_1_1path__hasher.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_hasher Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__hasher.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1path__hasher.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -105,7 +107,7 @@ size_t&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (con
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1path__hasher.html">path_hasher</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter-members.html b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter-members.html
new file mode 100644
index 00000000..da20a4b9
--- /dev/null
+++ b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter-members.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::process_handle::_byte_array_deleter Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">llfio_v2_xxx::process_handle::_byte_array_deleter</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(T *a) (defined in <a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">llfio_v2_xxx::process_handle::_byte_array_deleter</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">llfio_v2_xxx::process_handle::_byte_array_deleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html
new file mode 100644
index 00000000..2768180d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::process_handle::_byte_array_deleter Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::process_handle::_byte_array_deleter Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1ad5d04e7968d3f4fe489dd413f5eed5"><td class="memTemplParams" colspan="2"><a id="a1ad5d04e7968d3f4fe489dd413f5eed5"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a1ad5d04e7968d3f4fe489dd413f5eed5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator()</b> (T *a)</td></tr>
+<tr class="separator:a1ad5d04e7968d3f4fe489dd413f5eed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="process__handle_8hpp.html">process_handle.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1process__handle.html">process_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html">_byte_array_deleter</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.js b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.js
new file mode 100644
index 00000000..42db1a4d
--- /dev/null
+++ b/structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.js
@@ -0,0 +1,4 @@
+var structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter =
+[
+ [ "operator()", "structllfio__v2__xxx_1_1process__handle_1_1__byte__array__deleter.html#a1ad5d04e7968d3f4fe489dd413f5eed5", null ]
+]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1stat__t-members.html b/structllfio__v2__xxx_1_1stat__t-members.html
index 8017d1c6..b75fe6f8 100644
--- a/structllfio__v2__xxx_1_1stat__t-members.html
+++ b/structllfio__v2__xxx_1_1stat__t-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,31 +90,34 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4">fill</a>(const handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">QUICKCPPLIB_BITFIELD_END</a>(want) stat_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d">st_allocated</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9">st_atim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61">st_birthtim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542">st_blksize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29">st_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f">st_compressed</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506">st_ctim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c">st_dev</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752">st_flags</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532">st_gen</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b">st_gid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2">st_ino</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4">st_mtim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4">st_nlink</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f">st_perms</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2">st_rdev</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518">st_reparse_point</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a">st_size</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2">st_sparse</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214">st_type</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b">st_uid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">stamp</a>(handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a>(std::nullptr_t) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27">operator!=</a>(const stat_t &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a">operator&lt;</a>(const stat_t &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841">operator==</a>(const stat_t &amp;o) const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">QUICKCPPLIB_BITFIELD_END</a>(want) stat_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d">st_allocated</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9">st_atim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61">st_birthtim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542">st_blksize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29">st_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f">st_compressed</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506">st_ctim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c">st_dev</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752">st_flags</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532">st_gen</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b">st_gid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2">st_ino</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4">st_mtim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4">st_nlink</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f">st_perms</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2">st_rdev</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518">st_reparse_point</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a">st_size</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2">st_sparse</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214">st_type</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b">st_uid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">stamp</a>(handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a>(std::nullptr_t) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -120,7 +125,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1stat__t.html b/structllfio__v2__xxx_1_1stat__t.html
index 67893646..418afef3 100644
--- a/structllfio__v2__xxx_1_1stat__t.html
+++ b/structllfio__v2__xxx_1_1stat__t.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::stat_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -108,6 +110,18 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a> (std::nullptr_t) noexcept</td></tr>
<tr class="memdesc:aef93718067115fcb4c596f4c8fe4cc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a zeroed instance. <br /></td></tr>
<tr class="separator:aef93718067115fcb4c596f4c8fe4cc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4227ceec0d2fbb66c62c4f71859ff841"><td class="memItemLeft" align="right" valign="top"><a id="a4227ceec0d2fbb66c62c4f71859ff841"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841">operator==</a> (const <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a4227ceec0d2fbb66c62c4f71859ff841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality comparison. <br /></td></tr>
+<tr class="separator:a4227ceec0d2fbb66c62c4f71859ff841"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00e9ca499bb50e3117744a98c0176f27"><td class="memItemLeft" align="right" valign="top"><a id="a00e9ca499bb50e3117744a98c0176f27"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27">operator!=</a> (const <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:a00e9ca499bb50e3117744a98c0176f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inequality comparison. <br /></td></tr>
+<tr class="separator:a00e9ca499bb50e3117744a98c0176f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbcf2ad965fdfefc7dbead1ad3c90a4a"><td class="memItemLeft" align="right" valign="top"><a id="acbcf2ad965fdfefc7dbead1ad3c90a4a"></a>
+bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a">operator&lt;</a> (const <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a> &amp;o) const noexcept</td></tr>
+<tr class="memdesc:acbcf2ad965fdfefc7dbead1ad3c90a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ordering. <br /></td></tr>
+<tr class="separator:acbcf2ad965fdfefc7dbead1ad3c90a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08a4b9530403b4689498706b0738db4"><td class="memItemLeft" align="right" valign="top">result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4">fill</a> (const <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;h, want wanted=want::all) noexcept</td></tr>
<tr class="separator:aa08a4b9530403b4689498706b0738db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ca693399bffd1b5004d31897e5b72e7"><td class="memItemLeft" align="right" valign="top">result&lt; want &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">stamp</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;h, want wanted=want::all) noexcept</td></tr>
@@ -131,12 +145,24 @@ Public Attributes</h2></td></tr>
<tr class="separator:a83827c7cbf9ebc2b5c965e509ed1748b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17d58119a066c7f0bef7d929f3dcddc2"><td class="memItemLeft" align="right" valign="top">dev_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2">st_rdev</a></td></tr>
<tr class="separator:a17d58119a066c7f0bef7d929f3dcddc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e33b115cae22ba75360660274f660b9"><td class="memItemLeft" align="right" valign="top">std::chrono::system_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9">st_atim</a></td></tr>
-<tr class="separator:a3e33b115cae22ba75360660274f660b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aefe8c88dad824c911fa7bf6e1baef1c4"><td class="memItemLeft" align="right" valign="top">std::chrono::system_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4">st_mtim</a></td></tr>
-<tr class="separator:aefe8c88dad824c911fa7bf6e1baef1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5656cbf7f1eb5fb2a921eac5caf3e506"><td class="memItemLeft" align="right" valign="top">std::chrono::system_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506">st_ctim</a></td></tr>
-<tr class="separator:a5656cbf7f1eb5fb2a921eac5caf3e506"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8d35bee4411c3f8358e4c5bac7472f"><td class="memItemLeft" ><a id="a1a8d35bee4411c3f8358e4c5bac7472f"></a>
+union {</td></tr>
+<tr class="memitem:a0e61a147a9001221a8bfbc60136bcb37"><td class="memItemLeft" >&#160;&#160;&#160;std::chrono::system_clock::time_point&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9">st_atim</a></td></tr>
+<tr class="separator:a0e61a147a9001221a8bfbc60136bcb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8d35bee4411c3f8358e4c5bac7472f"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a1a8d35bee4411c3f8358e4c5bac7472f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1135f4b37b0185812691fb8d3035b56f"><td class="memItemLeft" ><a id="a1135f4b37b0185812691fb8d3035b56f"></a>
+union {</td></tr>
+<tr class="memitem:a0779e3a802cdb735bec2685fb76fa7d0"><td class="memItemLeft" >&#160;&#160;&#160;std::chrono::system_clock::time_point&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4">st_mtim</a></td></tr>
+<tr class="separator:a0779e3a802cdb735bec2685fb76fa7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1135f4b37b0185812691fb8d3035b56f"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a1135f4b37b0185812691fb8d3035b56f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1011453b88f83a093c21636a03d3b74"><td class="memItemLeft" ><a id="ad1011453b88f83a093c21636a03d3b74"></a>
+union {</td></tr>
+<tr class="memitem:a70451a65b430579f43f834a99f97ad08"><td class="memItemLeft" >&#160;&#160;&#160;std::chrono::system_clock::time_point&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506">st_ctim</a></td></tr>
+<tr class="separator:a70451a65b430579f43f834a99f97ad08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1011453b88f83a093c21636a03d3b74"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:ad1011453b88f83a093c21636a03d3b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbe9fc921f2cbb96d68da4e0b208597a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a">st_size</a></td></tr>
<tr class="separator:abbe9fc921f2cbb96d68da4e0b208597a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57ae0ee58e01481b7879596f319b9e1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d">st_allocated</a></td></tr>
@@ -149,8 +175,12 @@ Public Attributes</h2></td></tr>
<tr class="separator:a4b55ae8203ee4f89cec67666a2fd0752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ca23f4ea9ef43fd58c2ede2bd58532"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532">st_gen</a></td></tr>
<tr class="separator:a23ca23f4ea9ef43fd58c2ede2bd58532"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7175e9ba3f0dae6ae87fb3001ca47e61"><td class="memItemLeft" align="right" valign="top">std::chrono::system_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61">st_birthtim</a></td></tr>
-<tr class="separator:a7175e9ba3f0dae6ae87fb3001ca47e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78c4f0289edf6c6c371118b2f290b750"><td class="memItemLeft" ><a id="a78c4f0289edf6c6c371118b2f290b750"></a>
+union {</td></tr>
+<tr class="memitem:ae05aa9edcb39636dba319232d16498e9"><td class="memItemLeft" >&#160;&#160;&#160;std::chrono::system_clock::time_point&#160;&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61">st_birthtim</a></td></tr>
+<tr class="separator:ae05aa9edcb39636dba319232d16498e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78c4f0289edf6c6c371118b2f290b750"><td class="memItemLeft" valign="top">};&#160;</td><td class="memItemRight" valign="bottom"></td></tr>
+<tr class="separator:a78c4f0289edf6c6c371118b2f290b750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40efc73a0eee503c070ae843754504d2"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2">st_sparse</a>: 1</td></tr>
<tr class="separator:a40efc73a0eee503c070ae843754504d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58b1f9a81b4f8a1c01715aa139bc2d0f"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f">st_compressed</a>: 1</td></tr>
@@ -263,7 +293,7 @@ Public Attributes</h2></td></tr>
<li><code>perms</code>, <code>uid</code>, <code>gid</code> (POSIX only)</li>
<li><code>atim</code> (Windows, POSIX)</li>
<li><code>mtim</code> (Windows, POSIX)</li>
-<li><code>birthtim</code> (Windows, FreeBSD, OS X)</li>
+<li><code>birthtim</code> (Windows, POSIX)</li>
</ul>
<p>Note that on POSIX, setting birth time involves two syscalls, the first of which temporarily sets the modified date to the birth time, which is racy. This is unavoidable given the syscall's design.</p>
<p>Note also that on POSIX one can never make a birth time newer than the current birth time, nor a modified time older than a birth time. You can do these on Windows, however. </p>
@@ -312,7 +342,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>time of file creation (Windows, FreeBSD, OS X, zero otherwise) </p>
+<p>time of file creation (Windows, POSIX) </p>
</div>
</div>
@@ -357,7 +387,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>if this file is compressed, or this directory capable of compressed files (Windows) </p>
+<p>if this file is compressed, or this directory capable of compressed files (Windows, Linux) </p>
</div>
</div>
@@ -597,7 +627,7 @@ Public Attributes</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1stat__t.js b/structllfio__v2__xxx_1_1stat__t.js
index 84388838..d6862fbd 100644
--- a/structllfio__v2__xxx_1_1stat__t.js
+++ b/structllfio__v2__xxx_1_1stat__t.js
@@ -2,6 +2,9 @@ var structllfio__v2__xxx_1_1stat__t =
[
[ "stat_t", "structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f", null ],
[ "fill", "structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4", null ],
+ [ "operator!=", "structllfio__v2__xxx_1_1stat__t.html#a00e9ca499bb50e3117744a98c0176f27", null ],
+ [ "operator<", "structllfio__v2__xxx_1_1stat__t.html#acbcf2ad965fdfefc7dbead1ad3c90a4a", null ],
+ [ "operator==", "structllfio__v2__xxx_1_1stat__t.html#a4227ceec0d2fbb66c62c4f71859ff841", null ],
[ "QUICKCPPLIB_BITFIELD_BEGIN", "structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581", null ],
[ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7", null ],
[ "stamp", "structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7", null ],
diff --git a/structllfio__v2__xxx_1_1statfs__t-members.html b/structllfio__v2__xxx_1_1statfs__t-members.html
index 95b77c09..dc9a0f60 100644
--- a/structllfio__v2__xxx_1_1statfs__t-members.html
+++ b/structllfio__v2__xxx_1_1statfs__t-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,23 +91,26 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_allbits1_32</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_allbits1_64</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962">f_bavail</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46">f_bfree</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf">f_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d">f_bsize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2">f_ffree</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b">f_files</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060">f_flags</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c">f_fsid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e">f_fstypename</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d">f_iosize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786">f_mntfromname</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0">f_mntonname</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771">f_namemax</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7">f_owner</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb">fill</a>(const handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">QUICKCPPLIB_BITFIELD_END</a>(want) statfs_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_allbits1_float</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962">f_bavail</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46">f_bfree</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf">f_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d">f_bsize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2">f_ffree</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b">f_files</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060">f_flags</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c">f_fsid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e">f_fstypename</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2">f_iosbusytime</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd">f_iosinprogress</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d">f_iosize</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786">f_mntfromname</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0">f_mntonname</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771">f_namemax</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7">f_owner</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb">fill</a>(const handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">QUICKCPPLIB_BITFIELD_END</a>(want) statfs_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -113,7 +118,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1statfs__t.html b/structllfio__v2__xxx_1_1statfs__t.html
index f8214769..3b5d0eed 100644
--- a/structllfio__v2__xxx_1_1statfs__t.html
+++ b/structllfio__v2__xxx_1_1statfs__t.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::statfs_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -146,6 +148,10 @@ Public Attributes</h2></td></tr>
<tr class="separator:a7b8ea29dcda069ef2af42a25eb283786"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7bedb646a6855541633e7bb7232b5e0"><td class="memItemLeft" align="right" valign="top">filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0">f_mntonname</a></td></tr>
<tr class="separator:ac7bedb646a6855541633e7bb7232b5e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3d5ec73abd75cb58c8be3e196c6cfbd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd">f_iosinprogress</a> {_allbits1_32}</td></tr>
+<tr class="separator:ae3d5ec73abd75cb58c8be3e196c6cfbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a628819f907c707648266194410b7b6f2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2">f_iosbusytime</a> {_allbits1_float}</td></tr>
+<tr class="separator:a628819f907c707648266194410b7b6f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
@@ -155,9 +161,14 @@ static constexpr uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>
<tr class="memitem:a416ff84db2e420c735e16887eaf6edf8"><td class="memItemLeft" align="right" valign="top"><a id="a416ff84db2e420c735e16887eaf6edf8"></a>
static constexpr uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>_allbits1_64</b> = ~0ULL</td></tr>
<tr class="separator:a416ff84db2e420c735e16887eaf6edf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7144e0e1dc8f14a60056347fd88ae3c"><td class="memItemLeft" align="right" valign="top"><a id="ae7144e0e1dc8f14a60056347fd88ae3c"></a>
+static constexpr float&#160;</td><td class="memItemRight" valign="bottom"><b>_allbits1_float</b> = detail::constexpr_float_allbits_set_nan()</td></tr>
+<tr class="separator:ae7144e0e1dc8f14a60056347fd88ae3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Metadata about a filing system. Unsupported entries are all bits set. </p>
+<p>Note also that for some fields, a soft failure to read the requested value manifests as all bits set. For example, <code>f_iosinprogress</code> might not be computable if the filing system for your handle reports a <code>dev_t</code> from <code>fstat()</code> which does not match anything in the system's disk hardware i/o stats. As this can be completely benign (e.g. your handle is a socket), this is treated as a soft failure.</p>
+<p>Note for <code>f_iosinprogress</code> and <code>f_iosbusytime</code> that support is not implemented yet outside Microsoft Windows and Linux. Note also that for Linux, filing systems spanning multiple hardware devices have undefined outcomes, whereas on Windows you are given the average of the values for all underlying hardware devices. Code donations improving the support for these items on Mac OS, FreeBSD and Linux would be welcomed. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="aa4a4f434ba56992244ac59c8f825a962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4a4f434ba56992244ac59c8f825a962">&#9670;&nbsp;</a></span>f_bavail</h2>
@@ -294,6 +305,36 @@ static constexpr uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>
</div>
</div>
+<a id="a628819f907c707648266194410b7b6f2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a628819f907c707648266194410b7b6f2">&#9670;&nbsp;</a></span>f_iosbusytime</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float llfio_v2_xxx::statfs_t::f_iosbusytime {_allbits1_float}</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>percentage of time spent doing i/o (1.0 = 100%) (Windows, Linux) </p>
+
+</div>
+</div>
+<a id="ae3d5ec73abd75cb58c8be3e196c6cfbd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3d5ec73abd75cb58c8be3e196c6cfbd">&#9670;&nbsp;</a></span>f_iosinprogress</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t llfio_v2_xxx::statfs_t::f_iosinprogress {_allbits1_32}</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>i/o's currently in progress (i.e. queue depth) (Windows, Linux) </p>
+
+</div>
+</div>
<a id="a378f9f413ad7178b65bbdab76a29a06d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a378f9f413ad7178b65bbdab76a29a06d">&#9670;&nbsp;</a></span>f_iosize</h2>
@@ -380,7 +421,7 @@ static constexpr uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">statfs_t</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1statfs__t.js b/structllfio__v2__xxx_1_1statfs__t.js
index 525c7d1d..d04a7367 100644
--- a/structllfio__v2__xxx_1_1statfs__t.js
+++ b/structllfio__v2__xxx_1_1statfs__t.js
@@ -13,6 +13,8 @@ var structllfio__v2__xxx_1_1statfs__t =
[ "f_flags", "structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060", null ],
[ "f_fsid", "structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c", null ],
[ "f_fstypename", "structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e", null ],
+ [ "f_iosbusytime", "structllfio__v2__xxx_1_1statfs__t.html#a628819f907c707648266194410b7b6f2", null ],
+ [ "f_iosinprogress", "structllfio__v2__xxx_1_1statfs__t.html#ae3d5ec73abd75cb58c8be3e196c6cfbd", null ],
[ "f_iosize", "structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d", null ],
[ "f_mntfromname", "structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786", null ],
[ "f_mntonname", "structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0", null ],
diff --git a/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t-members.html b/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t-members.html
index 7b8c7192..e08abcd3 100644
--- a/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t-members.html
+++ b/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -102,7 +104,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t_1_1f
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html b/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html
index 8d44405f..dab69004 100644
--- a/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html
+++ b/structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::statfs_t::f_flags_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -134,7 +136,7 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">statfs_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html">f_flags_t</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item-members.html b/structllfio__v2__xxx_1_1storage__profile_1_1item-members.html
index 19c499ef..1684dc5e 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item-members.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -107,7 +109,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profi
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item.html b/structllfio__v2__xxx_1_1storage__profile_1_1item.html
index e96e86a1..d1094a22 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::storage_profile::item&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::storage_profile::item&lt; T &gt;:</div>
<div class="center">
<img src="structllfio__v2__xxx_1_1storage__profile_1_1item.png" usemap="#llfio_5Fv2_5Fxxx::storage_5Fprofile::item_3C_20T_20_3E_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_3C_20T_20_3E_map" name="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_3C_20T_20_3E_map">
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" title="Common base class for items. " alt="llfio_v2_xxx::storage_profile::item_base" shape="rect" coords="0,0,231,24"/>
-</map>
- </div></div>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" title="Common base class for items." alt="llfio_v2_xxx::storage_profile::item_base" shape="rect" coords="0,0,231,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -175,7 +177,7 @@ struct llfio_v2_xxx::storage_profile::item&lt; T &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item__base-members.html b/structllfio__v2__xxx_1_1storage__profile_1_1item__base-members.html
index 8b146c27..3dd32948 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item__base-members.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item__base-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__base.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -100,7 +102,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profi
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item__base.html b/structllfio__v2__xxx_1_1storage__profile_1_1item__base.html
index 61941a1e..77093c09 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item__base.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item__base.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::storage_profile::item_base Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__base.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__base.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,15 +103,15 @@ Inheritance diagram for llfio_v2_xxx::storage_profile::item_base:</div>
<div class="center">
<img src="structllfio__v2__xxx_1_1storage__profile_1_1item__base.png" usemap="#llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Fbase_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Fbase_map" name="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Fbase_map">
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; float &gt;" shape="rect" coords="0,56,350,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; io_service::extent_type &gt;" shape="rect" coords="360,56,710,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; std::string &gt;" shape="rect" coords="720,56,1070,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; unsigned &gt;" shape="rect" coords="1080,56,1430,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; unsigned long long &gt;" shape="rect" coords="1440,56,1790,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" title="A tag-value item in the storage profile where T is the type of value stored. " alt="llfio_v2_xxx::storage_profile::item&lt; T &gt;" shape="rect" coords="1800,56,2150,80"/>
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" title="A type erased tag-value item. " alt="llfio_v2_xxx::storage_profile::item_erased" shape="rect" coords="2160,56,2510,80"/>
-</map>
- </div></div>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; float &gt;" shape="rect" coords="0,56,346,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; io_handle::extent_type &gt;" shape="rect" coords="356,56,702,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; std::string &gt;" shape="rect" coords="712,56,1058,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; unsigned &gt;" shape="rect" coords="1068,56,1414,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" alt="llfio_v2_xxx::storage_profile::item&lt; unsigned long long &gt;" shape="rect" coords="1424,56,1770,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item.html" title="A tag-value item in the storage profile where T is the type of value stored." alt="llfio_v2_xxx::storage_profile::item&lt; T &gt;" shape="rect" coords="1780,56,2126,80"/>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html" title="A type erased tag-value item." alt="llfio_v2_xxx::storage_profile::item_erased" shape="rect" coords="2136,56,2482,80"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -158,7 +160,7 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><b>item_base</b> (c
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html">item_base</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item__base.png b/structllfio__v2__xxx_1_1storage__profile_1_1item__base.png
index 09df15e8..58db2721 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item__base.png
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item__base.png
Binary files differ
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item__erased-members.html b/structllfio__v2__xxx_1_1storage__profile_1_1item__erased-members.html
index b1759fbf..c3b3df11 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item__erased-members.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item__erased-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -109,7 +111,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profi
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html b/structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html
index b1d0433e..06b4ceaf 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::storage_profile::item_erased Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -101,9 +103,9 @@ Inheritance diagram for llfio_v2_xxx::storage_profile::item_erased:</div>
<div class="center">
<img src="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.png" usemap="#llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Ferased_map" alt=""/>
<map id="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Ferased_map" name="llfio_5Fv2_5Fxxx::storage_5Fprofile::item_5Ferased_map">
-<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" title="Common base class for items. " alt="llfio_v2_xxx::storage_profile::item_base" shape="rect" coords="0,0,243,24"/>
-</map>
- </div></div>
+<area href="structllfio__v2__xxx_1_1storage__profile_1_1item__base.html" title="Common base class for items." alt="llfio_v2_xxx::storage_profile::item_base" shape="rect" coords="0,0,243,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
@@ -172,7 +174,7 @@ static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><b>it
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html">item_erased</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile-members.html b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile-members.html
index 42649c83..b66a4dbd 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile-members.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -190,7 +192,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profi
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html
index 9be842b1..8ace7071 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::storage_profile::storage_profile Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -224,28 +226,28 @@ Public Attributes</h2></td></tr>
<tr class="memitem:ab602c4b6ebe5f30cce8f745cbafe7c53"><td class="memItemLeft" align="right" valign="top"><a id="ab602c4b6ebe5f30cce8f745cbafe7c53"></a>
<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; unsigned &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>device_min_io_size</b> = {&quot;storage:device:min_io_size&quot;, &amp;storage::device}</td></tr>
<tr class="separator:ab602c4b6ebe5f30cce8f745cbafe7c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6200afd35c989f174f603f7803ae3b9e"><td class="memItemLeft" align="right" valign="top"><a id="a6200afd35c989f174f603f7803ae3b9e"></a>
-<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>device_size</b> = {&quot;storage:device:size&quot;, &amp;storage::device}</td></tr>
-<tr class="separator:a6200afd35c989f174f603f7803ae3b9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab37b713eb3727019db5cc2adcfb606a4"><td class="memItemLeft" align="right" valign="top"><a id="ab37b713eb3727019db5cc2adcfb606a4"></a>
+<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; io_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>device_size</b> = {&quot;storage:device:size&quot;, &amp;storage::device}</td></tr>
+<tr class="separator:ab37b713eb3727019db5cc2adcfb606a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a349ded127a1defc9606a3c5bd4d4f726"><td class="memItemLeft" align="right" valign="top"><a id="a349ded127a1defc9606a3c5bd4d4f726"></a>
<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>fs_name</b> = {&quot;storage:fs:name&quot;, &amp;storage::fs}</td></tr>
<tr class="separator:a349ded127a1defc9606a3c5bd4d4f726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e28bb3dec6b0531f7267a01d295486"><td class="memItemLeft" align="right" valign="top"><a id="ac6e28bb3dec6b0531f7267a01d295486"></a>
<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>fs_config</b> = {&quot;storage:fs:config&quot;, &amp;storage::fs}</td></tr>
<tr class="separator:ac6e28bb3dec6b0531f7267a01d295486"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97fdeb0183b87e87d595cfc9d93500da"><td class="memItemLeft" align="right" valign="top"><a id="a97fdeb0183b87e87d595cfc9d93500da"></a>
-<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>fs_size</b> = {&quot;storage:fs:size&quot;, &amp;storage::fs}</td></tr>
-<tr class="separator:a97fdeb0183b87e87d595cfc9d93500da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3bac3c7cf80458b4c8014a3dc286457"><td class="memItemLeft" align="right" valign="top"><a id="ae3bac3c7cf80458b4c8014a3dc286457"></a>
+<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; io_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>fs_size</b> = {&quot;storage:fs:size&quot;, &amp;storage::fs}</td></tr>
+<tr class="separator:ae3bac3c7cf80458b4c8014a3dc286457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae53650441ee5d65ab33175af262a39"><td class="memItemLeft" align="right" valign="top"><a id="a4ae53650441ee5d65ab33175af262a39"></a>
<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>fs_in_use</b> = {&quot;storage:fs:in_use&quot;, &amp;storage::fs}</td></tr>
<tr class="separator:a4ae53650441ee5d65ab33175af262a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7dda252a1376635a06a6d47f1584abdf"><td class="memItemLeft" align="right" valign="top"><a id="a7dda252a1376635a06a6d47f1584abdf"></a>
-<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>atomic_rewrite_quantum</b> = {&quot;concurrency:atomic_rewrite_quantum&quot;, concurrency::atomic_rewrite_quantum, &quot;The i/o modify quantum guaranteed to be atomically visible to readers irrespective of rewrite quantity&quot;}</td></tr>
-<tr class="separator:a7dda252a1376635a06a6d47f1584abdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41b8fcef40890ff14e802c2382a6e5d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>max_aligned_atomic_rewrite</b></td></tr>
-<tr class="separator:a41b8fcef40890ff14e802c2382a6e5d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a009c613344a42f0afc9301cfcb1d6578"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>atomic_rewrite_offset_boundary</b></td></tr>
-<tr class="separator:a009c613344a42f0afc9301cfcb1d6578"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a548fd96a9343f321cad34a827fe835d4"><td class="memItemLeft" align="right" valign="top"><a id="a548fd96a9343f321cad34a827fe835d4"></a>
+<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; io_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>atomic_rewrite_quantum</b> = {&quot;concurrency:atomic_rewrite_quantum&quot;, concurrency::atomic_rewrite_quantum, &quot;The i/o modify quantum guaranteed to be atomically visible to readers irrespective of rewrite quantity&quot;}</td></tr>
+<tr class="separator:a548fd96a9343f321cad34a827fe835d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bdddb66052d1d117f7908b7457e6108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; io_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>max_aligned_atomic_rewrite</b></td></tr>
+<tr class="separator:a7bdddb66052d1d117f7908b7457e6108"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1167af3f684a99281b49a8688d5b3974"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; io_handle::extent_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>atomic_rewrite_offset_boundary</b></td></tr>
+<tr class="separator:a1167af3f684a99281b49a8688d5b3974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6268321ec8dfee09952dcb8364e93c27"><td class="memItemLeft" align="right" valign="top"><a id="a6268321ec8dfee09952dcb8364e93c27"></a>
<a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt; unsigned &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>read_nothing</b> = {&quot;latency:read:nothing&quot;, latency::read_nothing, &quot;The nanoseconds to <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f">read</a> <a class="el" href="namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e">zero</a> bytes&quot;}</td></tr>
<tr class="separator:a6268321ec8dfee09952dcb8364e93c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -406,32 +408,42 @@ Public Attributes</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A (possibly incomplet) profile of storage. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
-<a id="a009c613344a42f0afc9301cfcb1d6578"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a009c613344a42f0afc9301cfcb1d6578">&#9670;&nbsp;</a></span>atomic_rewrite_offset_boundary</h2>
+<a id="a1167af3f684a99281b49a8688d5b3974"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1167af3f684a99281b49a8688d5b3974">&#9670;&nbsp;</a></span>atomic_rewrite_offset_boundary</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a>&gt; llfio_v2_xxx::storage_profile::storage_profile::atomic_rewrite_offset_boundary</td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt;io_handle::extent_type&gt; llfio_v2_xxx::storage_profile::storage_profile::atomic_rewrite_offset_boundary</td>
</tr>
</table>
</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {<span class="stringliteral">&quot;concurrency:atomic_rewrite_offset_boundary&quot;</span>, concurrency::atomic_rewrite_offset_boundary, <span class="stringliteral">&quot;The multiple of offset in a file where update atomicity breaks, so if you wrote 4096 bytes at a 512 offset and &quot;</span></div><div class="line"> <span class="stringliteral">&quot;this value was 4096, your write would tear at 3584 because all writes would tear on a 4096 offset multiple. &quot;</span></div><div class="line"> <span class="stringliteral">&quot;Linux has a famously broken kernel i/o design which causes this value to be a page multiple, except on &quot;</span></div><div class="line"> <span class="stringliteral">&quot;filing systems which take special measures to work around it. Windows NT appears to lose all atomicity as soon as &quot;</span></div><div class="line"> <span class="stringliteral">&quot;an i/o straddles a 4096 file offset multiple and DMA suddenly goes into many 64 byte cache lines :(, so if &quot;</span></div><div class="line"> <span class="stringliteral">&quot;this value is less than max_aligned_atomic_rewrite and some multiple of the CPU cache line size then this is &quot;</span></div><div class="line"> <span class="stringliteral">&quot;what has happened.&quot;</span>}</div></div><!-- fragment -->
+<b>Initial value:</b><div class="fragment"><div class="line">= {<span class="stringliteral">&quot;concurrency:atomic_rewrite_offset_boundary&quot;</span>, concurrency::atomic_rewrite_offset_boundary, <span class="stringliteral">&quot;The multiple of offset in a file where update atomicity breaks, so if you wrote 4096 bytes at a 512 offset and &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;this value was 4096, your write would tear at 3584 because all writes would tear on a 4096 offset multiple. &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;Linux has a famously broken kernel i/o design which causes this value to be a page multiple, except on &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;filing systems which take special measures to work around it. Windows NT appears to lose all atomicity as soon as &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;an i/o straddles a 4096 file offset multiple and DMA suddenly goes into many 64 byte cache lines :(, so if &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;this value is less than max_aligned_atomic_rewrite and some multiple of the CPU cache line size then this is &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;what has happened.&quot;</span>}</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a41b8fcef40890ff14e802c2382a6e5d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a41b8fcef40890ff14e802c2382a6e5d8">&#9670;&nbsp;</a></span>max_aligned_atomic_rewrite</h2>
+<a id="a7bdddb66052d1d117f7908b7457e6108"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7bdddb66052d1d117f7908b7457e6108">&#9670;&nbsp;</a></span>max_aligned_atomic_rewrite</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a">io_service::extent_type</a>&gt; llfio_v2_xxx::storage_profile::storage_profile::max_aligned_atomic_rewrite</td>
+ <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item.html">item</a>&lt;io_handle::extent_type&gt; llfio_v2_xxx::storage_profile::storage_profile::max_aligned_atomic_rewrite</td>
</tr>
</table>
</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {<span class="stringliteral">&quot;concurrency:max_aligned_atomic_rewrite&quot;</span>, concurrency::atomic_rewrite_quantum,</div><div class="line"> <span class="stringliteral">&quot;The maximum single aligned i/o modify quantity atomically visible to readers (can be [potentially unreliably] much larger than atomic_rewrite_quantum). &quot;</span></div><div class="line"> <span class="stringliteral">&quot;A very common value on modern hardware with direct i/o thanks to PCIe DMA is 4096, don&#39;t trust values higher than this because of potentially discontiguous memory page mapping.&quot;</span>}</div></div><!-- fragment -->
+<b>Initial value:</b><div class="fragment"><div class="line">= {<span class="stringliteral">&quot;concurrency:max_aligned_atomic_rewrite&quot;</span>, concurrency::atomic_rewrite_quantum,</div>
+<div class="line"> <span class="stringliteral">&quot;The maximum single aligned i/o modify quantity atomically visible to readers (can be [potentially unreliably] much larger than atomic_rewrite_quantum). &quot;</span></div>
+<div class="line"> <span class="stringliteral">&quot;A very common value on modern hardware with direct i/o thanks to PCIe DMA is 4096, don&#39;t trust values higher than this because of potentially discontiguous memory page mapping.&quot;</span>}</div>
+</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
@@ -445,7 +457,7 @@ Public Attributes</h2></td></tr>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html">storage_profile</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html">storage_profile</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.js b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.js
index b60c8297..fa541713 100644
--- a/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.js
+++ b/structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.js
@@ -8,17 +8,17 @@ var structllfio__v2__xxx_1_1storage__profile_1_1storage__profile =
[ "size_type", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6", null ],
[ "value_type", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973", null ],
[ "storage_profile", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aa911cc7ceeb937c2e7b17929f78b4ab2", null ],
- [ "begin", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133", null ],
[ "begin", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b", null ],
+ [ "begin", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133", null ],
[ "empty", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6195ef7236d35269bc3fac5599528a08", null ],
- [ "end", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97", null ],
[ "end", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4", null ],
+ [ "end", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a578ca7ec4f41087374c57dc68607de97", null ],
[ "max_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490", null ],
[ "read", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f", null ],
[ "size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de", null ],
[ "write", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b", null ],
- [ "atomic_rewrite_offset_boundary", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a009c613344a42f0afc9301cfcb1d6578", null ],
- [ "atomic_rewrite_quantum", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a7dda252a1376635a06a6d47f1584abdf", null ],
+ [ "atomic_rewrite_offset_boundary", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1167af3f684a99281b49a8688d5b3974", null ],
+ [ "atomic_rewrite_quantum", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a548fd96a9343f321cad34a827fe835d4", null ],
[ "clock_granularity", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a53f7ea612f6a206e0690af1091646910", null ],
[ "clock_overhead", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aed82185c960d98285f610aaaa5f1fd64", null ],
[ "controller_max_buffers", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af694347286b66f45e66b03d7825350d3", null ],
@@ -35,7 +35,7 @@ var structllfio__v2__xxx_1_1storage__profile_1_1storage__profile =
[ "delete_file_warm_racefree_0b", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aad55f1e36644d0477b413f92064e88c6", null ],
[ "device_min_io_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab602c4b6ebe5f30cce8f745cbafe7c53", null ],
[ "device_name", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aabc4c76ae832bae66112f0f652a15dea", null ],
- [ "device_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a6200afd35c989f174f603f7803ae3b9e", null ],
+ [ "device_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ab37b713eb3727019db5cc2adcfb606a4", null ],
[ "drop_filesystem_cache_support", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a72eb6a03e4839c996c6f564023b55851", null ],
[ "enumerate_file_cold_racefree_0b", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af29b8cdeb4dd83912687b8fe68c703b7", null ],
[ "enumerate_file_warm_nonracefree_0b", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae37d5c2b27d30a4c7aa8ce2138616f09", null ],
@@ -43,8 +43,8 @@ var structllfio__v2__xxx_1_1storage__profile_1_1storage__profile =
[ "fs_config", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac6e28bb3dec6b0531f7267a01d295486", null ],
[ "fs_in_use", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ae53650441ee5d65ab33175af262a39", null ],
[ "fs_name", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a349ded127a1defc9606a3c5bd4d4f726", null ],
- [ "fs_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a97fdeb0183b87e87d595cfc9d93500da", null ],
- [ "max_aligned_atomic_rewrite", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a41b8fcef40890ff14e802c2382a6e5d8", null ],
+ [ "fs_size", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae3bac3c7cf80458b4c8014a3dc286457", null ],
+ [ "max_aligned_atomic_rewrite", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a7bdddb66052d1d117f7908b7457e6108", null ],
[ "mem_in_use", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a807a39d41640802c9c857693c7571633", null ],
[ "mem_max_bandwidth", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#accda92d5c8ff679c32218792b9933aeb", null ],
[ "mem_min_bandwidth", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a95b44bf265801f0cbce2e5e3c6017966", null ],
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type-members.html b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type-members.html
index 136a9d33..24a46d5c 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type-members.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -114,7 +116,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handl
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html
index 10588ec8..9cc8e473 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle::buffers_type Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -117,7 +119,7 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a">buffers_type</a> ()</td></tr>
<tr class="memdesc:a8e897069034acea0439397ea4aeb777a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a8e897069034acea0439397ea4aeb777a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4d9b043e638ad6e1b592f2b93a5c9c2"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2">buffers_type</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> link, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">symlink_type</a> <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">type</a>=<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559">symlink_type::symbolic</a>)</td></tr>
+<tr class="memitem:aa4d9b043e638ad6e1b592f2b93a5c9c2"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2">buffers_type</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">symlink_type</a> <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">type</a>=<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559">symlink_type::symbolic</a>)</td></tr>
<tr class="separator:aa4d9b043e638ad6e1b592f2b93a5c9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3880885ec5694a6ca77b4325a0684848"><td class="memItemLeft" align="right" valign="top"><a id="a3880885ec5694a6ca77b4325a0684848"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848">buffers_type</a> (<a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html">buffers_type</a> &amp;&amp;o) noexcept</td></tr>
@@ -207,12 +209,15 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>symlink_handle</b></
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor </p>
-<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; : _link(link)</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; , _type(<a class="code" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">type</a>)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="ttc" id="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type_html_ac44ca889e5423c1bdeb02e5bee5f645a"><div class="ttname"><a href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">llfio_v2_xxx::symlink_handle::buffers_type::type</a></div><div class="ttdeci">symlink_type type() const noexcept</div><div class="ttdoc">The type of the symbolic link. </div><div class="ttdef"><b>Definition:</b> symlink_handle.hpp:180</div></div>
+<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; : _link(<a class="code" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>)</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; , _type(<a class="code" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">type</a>)</div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
@@ -221,13 +226,15 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>symlink_handle</b></
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="astructllfio__v2__xxx_1_1symlink__handle_1_1buffers__type_html_ac44ca889e5423c1bdeb02e5bee5f645a"><div class="ttname"><a href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a">llfio_v2_xxx::symlink_handle::buffers_type::type</a></div><div class="ttdeci">symlink_type type() const noexcept</div><div class="ttdoc">The type of the symbolic link.</div><div class="ttdef"><b>Definition:</b> symlink_handle.hpp:197</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1fs__handle_html_aa7770c6b7c478d74654f25b8c1a1585c"><div class="ttname"><a href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">llfio_v2_xxx::fs_handle::link</a></div><div class="ttdeci">virtual result&lt; void &gt; link(const path_handle &amp;base, path_view_type path, deadline d=std::chrono::seconds(30)) noexcept</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html">buffers_type</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.js b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.js
index ce86185a..1c5ed8c5 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.js
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.js
@@ -9,12 +9,12 @@ var structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type =
[ "~buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a32745ecde75b89de1687b479f26f0007", null ],
[ "buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848", null ],
[ "buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890", null ],
- [ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570", null ],
[ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1", null ],
+ [ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570", null ],
[ "cbegin", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0", null ],
[ "cend", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d", null ],
- [ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38", null ],
[ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623", null ],
+ [ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38", null ],
[ "operator=", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636", null ],
[ "operator=", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa", null ],
[ "path", "structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b", null ],
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type-members.html b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type-members.html
index 3f2864a0..a2a48cb0 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type-members.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -113,7 +115,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handl
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html
index b70eada0..e81455a6 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle::const_buffers_type Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -114,7 +116,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="str
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af9830b9a4da9084989113bd7ab98988a"><td class="memItemLeft" align="right" valign="top"><a id="af9830b9a4da9084989113bd7ab98988a"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a">const_buffers_type</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> link, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">symlink_type</a> <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852">type</a>=<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559">symlink_type::symbolic</a>)</td></tr>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a">const_buffers_type</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aa7770c6b7c478d74654f25b8c1a1585c">link</a>, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">symlink_type</a> <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852">type</a>=<a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559">symlink_type::symbolic</a>)</td></tr>
<tr class="memdesc:af9830b9a4da9084989113bd7ab98988a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af9830b9a4da9084989113bd7ab98988a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a463abaa97ced312d1e981ea0f6042ab6"><td class="memItemLeft" align="right" valign="top"><a id="a463abaa97ced312d1e981ea0f6042ab6"></a>
@@ -185,7 +187,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>symlink_handle</b></
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">const_buffers_type</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.js b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.js
index 5a6a19be..ac2709f7 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.js
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.js
@@ -8,14 +8,14 @@ var structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type =
[ "~const_buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a0f67fea6217ef875f99985509e6a377a", null ],
[ "const_buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6", null ],
[ "const_buffers_type", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11", null ],
- [ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d", null ],
[ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc", null ],
+ [ "begin", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d", null ],
[ "cbegin", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9", null ],
[ "cend", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a", null ],
- [ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba", null ],
[ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40", null ],
- [ "operator=", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621", null ],
+ [ "end", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba", null ],
[ "operator=", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621", null ],
[ "path", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6", null ],
[ "type", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852", null ],
[ "symlink_handle", "structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2", null ]
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html
index b60c7069..2ec14d84 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -105,7 +107,7 @@ struct llfio_v2_xxx::symlink_handle::io_request&lt; T, bool &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html">io_request</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4-members.html b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4-members.html
index 286d1514..ad615d31 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4-members.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -98,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handl
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html
index 869f2016..b96daace 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -127,7 +129,7 @@ struct llfio_v2_xxx::symlink_handle::io_request&lt; buffers_type, ____ &gt;</h3>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html">io_request&lt; buffers_type, ____ &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4-members.html b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4-members.html
index b5998173..324adb8d 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4-members.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -99,7 +101,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handl
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html
index a059d7da..99455ba3 100644
--- a/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html
+++ b/structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -134,7 +136,7 @@ struct llfio_v2_xxx::symlink_handle::io_request&lt; const_buffers_type, ____ &gt
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">symlink_handle</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html">io_request&lt; const_buffers_type, ____ &gt;</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind-members.html b/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind-members.html
index a25f42f2..a2484f75 100644
--- a/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind-members.html
+++ b/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page_
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html b/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html
index fbe376fb..70255e6f 100644
--- a/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html
+++ b/structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -105,7 +107,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>other</b> = <a class
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html">rebind</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html
index d6fa93cf..b5f9fe96 100644
--- a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html
+++ b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,13 +83,13 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page_
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt; Member List</div> </div>
+<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -95,7 +97,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page_
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html
index f43e28bc..276e3861 100644
--- a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html
+++ b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt; Struct Template Reference</title>
+<title>LLFIO: llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -84,15 +86,15 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1page_
<a href="#pub-types">Public Types</a> &#124;
<a href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind-members.html">List of all members</a> </div>
<div class="headertitle">
-<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt; Struct Template Reference</div> </div>
+<div class="title">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:a9fb40a440a17abac7be77f58722276b8"><td class="memItemLeft" align="right" valign="top"><a id="a9fb40a440a17abac7be77f58722276b8"></a>
+<tr class="memitem:ab3a3e0ea8260e142f4967d74ddbd688e"><td class="memItemLeft" align="right" valign="top"><a id="ab3a3e0ea8260e142f4967d74ddbd688e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>other</b> = <a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">page_allocator</a>&lt; U &gt;</td></tr>
-<tr class="separator:a9fb40a440a17abac7be77f58722276b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:ab3a3e0ea8260e142f4967d74ddbd688e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="utils_8hpp.html">utils.hpp</a></li>
@@ -105,7 +107,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>other</b> = <a class
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">page_allocator&lt; void &gt;</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">rebind</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.js b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.js
index 9e2c2a61..7671c3ce 100644
--- a/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.js
+++ b/structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.js
@@ -1,4 +1,4 @@
var structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind =
[
- [ "other", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#a9fb40a440a17abac7be77f58722276b8", null ]
+ [ "other", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#ab3a3e0ea8260e142f4967d74ddbd688e", null ]
]; \ No newline at end of file
diff --git a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self-members.html b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage-members.html
index d169c91c..99f2e935 100644
--- a/structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self-members.html
+++ b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage-members.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -81,17 +83,16 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__service_1_
<div class="header">
<div class="headertitle">
-<div class="title">llfio_v2_xxx::io_service::awaitable_post_to_self Member List</div> </div>
+<div class="title">llfio_v2_xxx::utils::process_memory_usage Member List</div> </div>
</div><!--header-->
<div class="contents">
-<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a>, including all inherited members.</p>
+<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>await_ready</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>await_resume</b>() (defined in <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>await_suspend</b>(coroutine_handle&lt;&gt; co) (defined in <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a1023716d724ddf252b772f9b83b1fe85">awaitable_post_to_self</a>(io_service &amp;_service)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>service</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html">llfio_v2_xxx::io_service::awaitable_post_to_self</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f">private_committed</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884">private_paged_in</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b">total_address_space_in_use</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f">total_address_space_paged_in</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -99,7 +100,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__service_1_
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html
new file mode 100644
index 00000000..04dc43a8
--- /dev/null
+++ b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::utils::process_memory_usage Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::utils::process_memory_usage Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Memory usage statistics for a process.
+ <a href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#details">More...</a></p>
+
+<p><code>#include &quot;utils.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:adf45c0d5909d6067817a07dc1a11676b"><td class="memItemLeft" align="right" valign="top"><a id="adf45c0d5909d6067817a07dc1a11676b"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b">total_address_space_in_use</a> {0}</td></tr>
+<tr class="memdesc:adf45c0d5909d6067817a07dc1a11676b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total virtual address space in use. <br /></td></tr>
+<tr class="separator:adf45c0d5909d6067817a07dc1a11676b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5b2ceeb0974a4a3115bdc74fc9d5b8f"><td class="memItemLeft" align="right" valign="top"><a id="ad5b2ceeb0974a4a3115bdc74fc9d5b8f"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f">total_address_space_paged_in</a> {0}</td></tr>
+<tr class="memdesc:ad5b2ceeb0974a4a3115bdc74fc9d5b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total memory currently paged into the process. Always <code>&lt;= total_address_space_in_use</code>. Also known as "working set", or "resident set size including shared". <br /></td></tr>
+<tr class="separator:ad5b2ceeb0974a4a3115bdc74fc9d5b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8f23435fe2b317cf7c0901e384c265f"><td class="memItemLeft" align="right" valign="top"><a id="aa8f23435fe2b317cf7c0901e384c265f"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f">private_committed</a> {0}</td></tr>
+<tr class="memdesc:aa8f23435fe2b317cf7c0901e384c265f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total anonymous memory committed. Also known as "commit charge". <br /></td></tr>
+<tr class="separator:aa8f23435fe2b317cf7c0901e384c265f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29e42ac19681a8da57c670b4869fd884"><td class="memItemLeft" align="right" valign="top"><a id="a29e42ac19681a8da57c670b4869fd884"></a>
+size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884">private_paged_in</a> {0}</td></tr>
+<tr class="memdesc:a29e42ac19681a8da57c670b4869fd884"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total anonymous memory currently paged into the process. Always <code>&lt;= private_committed</code>. Also known as "active anonymous pages". <br /></td></tr>
+<tr class="separator:a29e42ac19681a8da57c670b4869fd884"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Memory usage statistics for a process. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>include/llfio/v2.0/<a class="el" href="utils_8hpp.html">utils.hpp</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html">utils</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">process_memory_usage</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.js b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.js
new file mode 100644
index 00000000..7bad51e2
--- /dev/null
+++ b/structllfio__v2__xxx_1_1utils_1_1process__memory__usage.js
@@ -0,0 +1,7 @@
+var structllfio__v2__xxx_1_1utils_1_1process__memory__usage =
+[
+ [ "private_committed", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#aa8f23435fe2b317cf7c0901e384c265f", null ],
+ [ "private_paged_in", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#a29e42ac19681a8da57c670b4869fd884", null ],
+ [ "total_address_space_in_use", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#adf45c0d5909d6067817a07dc1a11676b", null ],
+ [ "total_address_space_paged_in", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#ad5b2ceeb0974a4a3115bdc74fc9d5b8f", null ]
+]; \ No newline at end of file
diff --git a/summarize_8hpp.html b/summarize_8hpp.html
new file mode 100644
index 00000000..990ea4f0
--- /dev/null
+++ b/summarize_8hpp.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/algorithm/summarize.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('summarize_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">summarize.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="traverse_8hpp.html">traverse.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="stat_8hpp.html">../stat.hpp</a>&quot;</code><br />
+<code>#include &lt;unordered_map&gt;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html">llfio_v2_xxx::algorithm::traversal_summary</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A summary of a directory tree. <a href="structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html">llfio_v2_xxx::algorithm::summarize_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal and summary algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of file system based algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a6165d32704ff21b4aed3046f11b31cb0"><td class="memItemLeft" align="right" valign="top">result&lt; traversal_summary &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">llfio_v2_xxx::algorithm::summarize</a> (const path_handle &amp;dirh, stat_t::want want=traversal_summary::default_metadata(), summarize_visitor *visitor=nullptr, size_t threads=0, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:a6165d32704ff21b4aed3046f11b31cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Summarise the directory identified <code>dirh</code>, and everything therein. <a href="namespacellfio__v2__xxx_1_1algorithm.html#a6165d32704ff21b4aed3046f11b31cb0">More...</a><br /></td></tr>
+<tr class="separator:a6165d32704ff21b4aed3046f11b31cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a directory tree summary algorithm. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="summarize_8hpp.html">summarize.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/summarize_8hpp.js b/summarize_8hpp.js
new file mode 100644
index 00000000..27b8f77c
--- /dev/null
+++ b/summarize_8hpp.js
@@ -0,0 +1,6 @@
+var summarize_8hpp =
+[
+ [ "traversal_summary", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary.html", "structllfio__v2__xxx_1_1algorithm_1_1traversal__summary" ],
+ [ "summarize_visitor", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1summarize__visitor" ],
+ [ "summarize", "summarize_8hpp.html#a6165d32704ff21b4aed3046f11b31cb0", null ]
+]; \ No newline at end of file
diff --git a/symlink__handle_8hpp.html b/symlink__handle_8hpp.html
index 58b48d4c..f84c1680 100644
--- a/symlink__handle_8hpp.html
+++ b/symlink__handle_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/symlink_handle.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('symlink__handle_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('symlink__handle_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -89,9 +91,6 @@ $(document).ready(function(){initNavTree('symlink__handle_8hpp.html','');});
<div class="title">symlink_handle.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides a handle to a symbolic link.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="path__view_8hpp.html">path_view.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
@@ -145,7 +144,7 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="symlink__handle_8hpp.html">symlink_handle.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/tabs.css b/tabs.css
index bbde11ed..7d45d36c 100644
--- a/tabs.css
+++ b/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
diff --git a/todo.html b/todo.html
index 99097a8e..623ebf4e 100644
--- a/todo.html
+++ b/todo.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: Todo List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('todo.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('todo.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -79,40 +81,39 @@ $(document).ready(function(){initNavTree('todo.html','');});
</iframe>
</div>
-<div class="header">
+<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Todo List </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
-<dt><a class="anchor" id="_todo000002"></a>Namespace <a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> </dt>
-<dd>TODO FIXME Replace in-memory log with memory map file backed log. </dd>
-<dt><a class="anchor" id="_todo000003"></a>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;</a> </dt>
-<dd>I have been lazy and used public inheritance from that base i/o handle. I should use protected inheritance to prevent slicing, and expose all the public functions by hand. </dd>
-<dt><a class="anchor" id="_todo000004"></a>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a> </dt>
-<dd>I have been lazy and used public inheritance from <code>io_handle</code> and <code>file_handle</code>. I should use protected inheritance to prevent slicing, and expose all the public functions by hand. </dd>
-<dt><a class="anchor" id="_todo000006"></a>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a> </dt>
-<dd><p class="startdd">Implement hole punching once I port that code from LLFIO v1. </p>
-<p>Decide on some resolution mechanism for sudden process exit. </p>
+<dt>Namespace <a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a> </dt>
+<dd><a class="anchor" id="_todo000002"></a>TODO FIXME Replace in-memory log with memory map file backed log. </dd>
+<dt>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html">llfio_v2_xxx::algorithm::cached_parent_handle_adapter&lt; T &gt;</a> </dt>
+<dd><a class="anchor" id="_todo000003"></a>I have been lazy and used public inheritance from that base i/o handle. I should use protected inheritance to prevent slicing, and expose all the public functions by hand. </dd>
+<dt>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a> </dt>
+<dd><a class="anchor" id="_todo000004"></a>I have been lazy and used public inheritance from <code>io_handle</code> and <code>file_handle</code>. I should use protected inheritance to prevent slicing, and expose all the public functions by hand. </dd>
+<dt>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a> </dt>
+<dd><p class="startdd"><a class="anchor" id="_todo000006"></a>Implement hole punching once I port that code from LLFIO v1. </p>
+<p class="interdd">Decide on some resolution mechanism for sudden process exit. </p>
<p class="enddd">There is a 1 out of 2^64-2 chance of unique id collision. It would be nice if we actually formally checked that our chosen unique id is actually unique. </p>
</dd>
-<dt><a class="anchor" id="_todo000008"></a>Member <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::_lock</a> (entities_guard &amp;out, deadline d, bool spin_not_sleep) noexcept final</dt>
-<dd>Read from header.last_known_good immediately if possible in order to avoid a duplicate read later </dd>
-<dt><a class="anchor" id="_todo000007"></a>Member <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::fs_mutex_append</a> (const path_handle &amp;base, path_view lockfile, bool nfs_compatibility=false, bool skip_hashing=false) noexcept</dt>
-<dd>fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching. </dd>
-<dt><a class="anchor" id="_todo000009"></a>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a> </dt>
-<dd>memory_map::_hash_entities needs to hash x16, x8 and x4 at a time to encourage auto vectorisation </dd>
-<dt><a class="anchor" id="_todo000001"></a>Member <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762">llfio_v2_xxx::io_handle::io_handle</a> ()</dt>
-<dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd>
+<dt>Member <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2b211531334c21185cbc7fc04a982357">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::_lock</a> (entities_guard &amp;out, deadline d, bool spin_not_sleep) noexcept final</dt>
+<dd><a class="anchor" id="_todo000008"></a>Read from header.last_known_good immediately if possible in order to avoid a duplicate read later </dd>
+<dt>Member <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a53cfcfafa373bdb5a4d16f325b95d700">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::fs_mutex_append</a> (const path_handle &amp;base, path_view lockfile, bool nfs_compatibility=false, bool skip_hashing=false) noexcept</dt>
+<dd><a class="anchor" id="_todo000007"></a>fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching. </dd>
+<dt>Class <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a> </dt>
+<dd><a class="anchor" id="_todo000009"></a>memory_map::_hash_entities needs to hash x16, x8 and x4 at a time to encourage auto vectorisation </dd>
</dl>
</div></div><!-- contents -->
+</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/traverse_8hpp.html b/traverse_8hpp.html
new file mode 100644
index 00000000..0e607276
--- /dev/null
+++ b/traverse_8hpp.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: include/llfio/v2.0/algorithm/traverse.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('traverse_8hpp.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">traverse.hpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="directory__handle_8hpp.html">../directory_handle.hpp</a>&quot;</code><br />
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html">llfio_v2_xxx::algorithm::traverse_visitor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A visitor for the filesystem traversal algorithm. <a href="structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespacellfio__v2__xxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx"><td class="mdescLeft">&#160;</td><td class="mdescRight">The LLFIO namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespacellfio__v2__xxx_1_1algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html">llfio_v2_xxx::algorithm</a></td></tr>
+<tr class="memdesc:namespacellfio__v2__xxx_1_1algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of file system based algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae068bc16598189811d0ce2b3530f1de7"><td class="memItemLeft" align="right" valign="top">result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">llfio_v2_xxx::algorithm::traverse</a> (const path_handle &amp;dirh, traverse_visitor *visitor, size_t threads=0, void *data=nullptr, bool force_slow_path=false) noexcept</td></tr>
+<tr class="memdesc:ae068bc16598189811d0ce2b3530f1de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverse everything within and under <code>dirh</code>. <a href="namespacellfio__v2__xxx_1_1algorithm.html#ae068bc16598189811d0ce2b3530f1de7">More...</a><br /></td></tr>
+<tr class="separator:ae068bc16598189811d0ce2b3530f1de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Provides a directory tree traversal algorithm. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="traverse_8hpp.html">traverse.hpp</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/traverse_8hpp.js b/traverse_8hpp.js
new file mode 100644
index 00000000..8bab0c85
--- /dev/null
+++ b/traverse_8hpp.js
@@ -0,0 +1,5 @@
+var traverse_8hpp =
+[
+ [ "traverse_visitor", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor.html", "structllfio__v2__xxx_1_1algorithm_1_1traverse__visitor" ],
+ [ "traverse", "traverse_8hpp.html#ae068bc16598189811d0ce2b3530f1de7", null ]
+]; \ No newline at end of file
diff --git a/trivial__vector_8hpp.html b/trivial__vector_8hpp.html
index 69cc7a1a..1aa2675a 100644
--- a/trivial__vector_8hpp.html
+++ b/trivial__vector_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/trivial_vector.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('trivial__vector_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('trivial__vector_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,9 +90,6 @@ $(document).ready(function(){initNavTree('trivial__vector_8hpp.html','');});
<div class="title">trivial_vector.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides constant time reallocating STL vector.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="map__handle_8hpp.html">../map_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp.html">../utils.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
@@ -183,7 +182,7 @@ template&lt;class T &gt; </td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="trivial__vector_8hpp.html">trivial_vector.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/trivial__vector_8hpp.js b/trivial__vector_8hpp.js
index 717752af..53b2a5f4 100644
--- a/trivial__vector_8hpp.js
+++ b/trivial__vector_8hpp.js
@@ -6,8 +6,8 @@ var trivial__vector_8hpp =
[ "trivial_vector_impl< true, T >", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html", "structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4" ],
[ "trivial_vector", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html", "classllfio__v2__xxx_1_1algorithm_1_1trivial__vector" ],
[ "operator!=", "trivial__vector_8hpp.html#a7ef00d65394827ceb91597dda1f496f9", null ],
- [ "operator+", "trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4", null ],
[ "operator+", "trivial__vector_8hpp.html#ac18e1a34c78ea3e115ec42e822003459", null ],
+ [ "operator+", "trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4", null ],
[ "operator-", "trivial__vector_8hpp.html#ade5c4ba1da02f45e072be8f16e1fa46a", null ],
[ "operator<", "trivial__vector_8hpp.html#a48db273f73f86955938b99faeef6e113", null ],
[ "operator<=", "trivial__vector_8hpp.html#a993ddc5c77998a907582247107f6e6c5", null ],
diff --git a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.js b/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.js
deleted file mode 100644
index d9114a73..00000000
--- a/unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage =
-[
- [ "result_storage", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html#ab5b187137f0949c11b1985368f0baab3", null ],
- [ "~result_storage", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html#aeeff6cb2ecd31090de582e6af37146e6", null ],
- [ "read", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html#aae111f516499383537896913c82e4561", null ],
- [ "write", "unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html#ab845f8cfc97b0860aab950e6ecdc85eb", null ]
-]; \ No newline at end of file
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t-members.html b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t-members.html
new file mode 100644
index 00000000..d99ef44a
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t-members.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9">completed_read</a></td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c">completed_write_or_barrier</a></td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25">empty</a></td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>noncompleted</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>payload_t</b>() (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>payload_t</b>(registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; buffers_type &gt; reqs) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>payload_t</b>(registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>payload_t</b>(registered_buffer_type &amp;&amp;b, deadline d, io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>payload_t</b>(io_result&lt; buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>payload_t</b>(io_result&lt; const_buffers_type &gt; &amp;&amp;res) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~payload_t</b>() (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html
new file mode 100644
index 00000000..2eaa4082
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t Union Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t Union Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Variant storage.
+ <a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for non-completed i/o. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad730d0cee7a5e502f9984d710f00d5e6"><td class="memItemLeft" align="right" valign="top"><a id="ad730d0cee7a5e502f9984d710f00d5e6"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>payload_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:ad730d0cee7a5e502f9984d710f00d5e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1eb34ee48193fe9f548c924e35765f4"><td class="memItemLeft" align="right" valign="top"><a id="ae1eb34ee48193fe9f548c924e35765f4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>payload_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:ae1eb34ee48193fe9f548c924e35765f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea7264b7561ff24ff8afb131eb6503df"><td class="memItemLeft" align="right" valign="top"><a id="aea7264b7561ff24ff8afb131eb6503df"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>payload_t</b> (<a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
+<tr class="separator:aea7264b7561ff24ff8afb131eb6503df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48509c2f9f20635626c2cfc479f746d7"><td class="memItemLeft" align="right" valign="top"><a id="a48509c2f9f20635626c2cfc479f746d7"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>payload_t</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a48509c2f9f20635626c2cfc479f746d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38ed72864a55f7d24e7a8d14c62d62d6"><td class="memItemLeft" align="right" valign="top"><a id="a38ed72864a55f7d24e7a8d14c62d62d6"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>payload_t</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
+<tr class="separator:a38ed72864a55f7d24e7a8d14c62d62d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a5323644071cbe8f7922a7c1345de5b25"><td class="memItemLeft" align="right" valign="top"><a id="a5323644071cbe8f7922a7c1345de5b25"></a>
+_empty_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25">empty</a></td></tr>
+<tr class="memdesc:a5323644071cbe8f7922a7c1345de5b25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used for unknown state. <br /></td></tr>
+<tr class="separator:a5323644071cbe8f7922a7c1345de5b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3279db6cd2952b16ff24b798a508fcb"><td class="memItemLeft" align="right" valign="top"><a id="ae3279db6cd2952b16ff24b798a508fcb"></a>
+struct <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>noncompleted</b></td></tr>
+<tr class="separator:ae3279db6cd2952b16ff24b798a508fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a662f673a4d30946d75c1a4eb21772bf9"><td class="memItemLeft" align="right" valign="top"><a id="a662f673a4d30946d75c1a4eb21772bf9"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9">completed_read</a></td></tr>
+<tr class="memdesc:a662f673a4d30946d75c1a4eb21772bf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a completed read i/o, the buffers filled. <br /></td></tr>
+<tr class="separator:a662f673a4d30946d75c1a4eb21772bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a641a93a7a385904496564b6145059d5c"><td class="memItemLeft" align="right" valign="top"><a id="a641a93a7a385904496564b6145059d5c"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c">completed_write_or_barrier</a></td></tr>
+<tr class="memdesc:a641a93a7a385904496564b6145059d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a completed write or barrier i/o, the buffers drained. <br /></td></tr>
+<tr class="separator:a641a93a7a385904496564b6145059d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Variant storage. </p>
+</div><hr/>The documentation for this union was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.js b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.js
new file mode 100644
index 00000000..ce0755ae
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.js
@@ -0,0 +1,15 @@
+var unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t =
+[
+ [ "noncompleted_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t" ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a35e894eb7630c9defa7e8b39e9213cf0", null ],
+ [ "~payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a699240eb1b27d4f2141e3151b83da0ea", null ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ad730d0cee7a5e502f9984d710f00d5e6", null ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ae1eb34ee48193fe9f548c924e35765f4", null ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#aea7264b7561ff24ff8afb131eb6503df", null ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a48509c2f9f20635626c2cfc479f746d7", null ],
+ [ "payload_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a38ed72864a55f7d24e7a8d14c62d62d6", null ],
+ [ "completed_read", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a662f673a4d30946d75c1a4eb21772bf9", null ],
+ [ "completed_write_or_barrier", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a641a93a7a385904496564b6145059d5c", null ],
+ [ "empty", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#a5323644071cbe8f7922a7c1345de5b25", null ],
+ [ "noncompleted", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html#ae3279db6cd2952b16ff24b798a508fcb", null ]
+]; \ No newline at end of file
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_195e2287f25f6d37fcb1f84d7452eab40.html b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_195e2287f25f6d37fcb1f84d7452eab40.html
new file mode 100644
index 00000000..cf3a5878
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_195e2287f25f6d37fcb1f84d7452eab40.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>, including all inherited members.</p>
+<table class="directory">
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>params_t</b>(io_request&lt; buffers_type &gt; reqs) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>params_t</b>(io_request&lt; const_buffers_type &gt; reqs) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>params_t</b>(io_request&lt; const_buffers_type &gt; reqs, barrier_kind kind) (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b> (defined in <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a>)</td><td class="entry"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html
new file mode 100644
index 00000000..683205c9
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t Union Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">LLFIO
+ &#160;<span id="projectnumber">v2.00 late beta</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.17 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_195e2287f25f6d37fcb1f84d7452eab40.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t Union Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Variant storage for the possible kinds of non-completed i/o.
+ <a href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#details">More...</a></p>
+
+<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">barrier_params_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a barrier i/o, the buffers to flush. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">read_params_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a read i/o, the buffers to fill. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">write_params_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a write i/o, the buffers to drain. <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab945045195ddb1943f44cd2189846389"><td class="memItemLeft" align="right" valign="top"><a id="ab945045195ddb1943f44cd2189846389"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>params_t</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:ab945045195ddb1943f44cd2189846389"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71672fc6ae8bedd987dd5a45d2aec020"><td class="memItemLeft" align="right" valign="top"><a id="a71672fc6ae8bedd987dd5a45d2aec020"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>params_t</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
+<tr class="separator:a71672fc6ae8bedd987dd5a45d2aec020"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60ba1f8083599eada35d441a1f085c97"><td class="memItemLeft" align="right" valign="top"><a id="a60ba1f8083599eada35d441a1f085c97"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>params_t</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
+<tr class="separator:a60ba1f8083599eada35d441a1f085c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a94c6d0d99a4f896d4f789a272d8f1189"><td class="memItemLeft" align="right" valign="top"><a id="a94c6d0d99a4f896d4f789a272d8f1189"></a>
+struct <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::read_params_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>read</b></td></tr>
+<tr class="separator:a94c6d0d99a4f896d4f789a272d8f1189"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e7b88eca1d9e22db8a8ff7c547401a0"><td class="memItemLeft" align="right" valign="top"><a id="a9e7b88eca1d9e22db8a8ff7c547401a0"></a>
+struct <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::write_params_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>write</b></td></tr>
+<tr class="separator:a9e7b88eca1d9e22db8a8ff7c547401a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ce28d20157166f6ffe495544d6e17e0"><td class="memItemLeft" align="right" valign="top"><a id="a8ce28d20157166f6ffe495544d6e17e0"></a>
+struct <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t::noncompleted_t::params_t::barrier_params_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b></td></tr>
+<tr class="separator:a8ce28d20157166f6ffe495544d6e17e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Variant storage for the possible kinds of non-completed i/o. </p>
+</div><hr/>The documentation for this union was generated from the following file:<ul>
+<li>include/llfio/v2.0/io_multiplexer.hpp</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">payload_t</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t.html">noncompleted_t</a></li><li class="navelem"><a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html">params_t</a></li>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.js b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.js
new file mode 100644
index 00000000..c0990c14
--- /dev/null
+++ b/unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.js
@@ -0,0 +1,12 @@
+var unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t =
+[
+ [ "barrier_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1a5b5f3cdc6ab979c7730f57139fe29e" ],
+ [ "read_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_fd29c581ca55bf5954d3fa054ce41041" ],
+ [ "write_params_t", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555.html", "structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_b77b7ebd449ef5b26dd9c1883f4a3555" ],
+ [ "params_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#ab945045195ddb1943f44cd2189846389", null ],
+ [ "params_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a71672fc6ae8bedd987dd5a45d2aec020", null ],
+ [ "params_t", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a60ba1f8083599eada35d441a1f085c97", null ],
+ [ "barrier", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a8ce28d20157166f6ffe495544d6e17e0", null ],
+ [ "read", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a94c6d0d99a4f896d4f789a272d8f1189", null ],
+ [ "write", "unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t_1_1noncompleted__t_1_1params__t.html#a9e7b88eca1d9e22db8a8ff7c547401a0", null ]
+]; \ No newline at end of file
diff --git a/utils_8hpp.html b/utils_8hpp.html
index 22491a15..31a5017e 100644
--- a/utils_8hpp.html
+++ b/utils_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/utils.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('utils_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('utils_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -88,22 +90,22 @@ $(document).ready(function(){initNavTree('utils_8hpp.html','');});
<div class="title">utils.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides namespace utils.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
<code>#include &quot;quickcpplib/algorithm/string.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html">llfio_v2_xxx::utils::process_memory_usage</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory usage statistics for a process. <a href="structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html">llfio_v2_xxx::utils::page_allocator&lt; T &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An STL allocator which allocates large TLB page memory.If the operating system is configured to allow it, this type of memory is particularly efficient for doing large scale file i/o. This is because the kernel must normally convert the scatter gather buffers you pass into extended scatter gather buffers as the memory you see as contiguous may not, and probably isn't, actually be contiguous in physical memory. Regions returned by this allocator <em>may</em> be allocated contiguously in physical memory and therefore the kernel can pass through your scatter gather buffers unmodified. <a href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An STL allocator which allocates large TLB page memory. <a href="classllfio__v2__xxx_1_1utils_1_1page__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html">llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -130,17 +132,9 @@ template&lt;class T &gt; </td></tr>
<tr class="memitem:a67f8f31f6b93293a22a4b30d686eb3af"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af">llfio_v2_xxx::utils::round_up_to_page_size</a> (T i, size_t pagesize) noexcept</td></tr>
<tr class="memdesc:a67f8f31f6b93293a22a4b30d686eb3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a value to its next highest page size multiple. <br /></td></tr>
<tr class="separator:a67f8f31f6b93293a22a4b30d686eb3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa36e8bc2a1f004696c09d104e23d685"><td class="memTemplParams" colspan="2"><a id="afa36e8bc2a1f004696c09d104e23d685"></a>
-template&lt;class T &gt; </td></tr>
-<tr class="memitem:afa36e8bc2a1f004696c09d104e23d685"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685">llfio_v2_xxx::utils::round_to_page_size</a> (T i, size_t pagesize) noexcept</td></tr>
-<tr class="memdesc:afa36e8bc2a1f004696c09d104e23d685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded down, the size_t upwards. <br /></td></tr>
-<tr class="separator:afa36e8bc2a1f004696c09d104e23d685"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; size_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils::page_sizes</a> (bool only_actually_available=true)</td></tr>
-<tr class="memdesc:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the page sizes of this architecture which is useful for calculating direct i/o multiples. <a href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">More...</a><br /></td></tr>
-<tr class="separator:a6c41e314d4d4b8362b96a3b4c1c363f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90d8f94ddb6e026f931e86d0dc904778"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778">llfio_v2_xxx::utils::file_buffer_default_size</a> ()</td></tr>
-<tr class="memdesc:a90d8f94ddb6e026f931e86d0dc904778"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reasonable default size for page_allocator, typically the closest page size from page_sizes() to 1Mb. <a href="namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778">More...</a><br /></td></tr>
-<tr class="separator:a90d8f94ddb6e026f931e86d0dc904778"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="memItemLeft" align="right" valign="top">LLFIO_TEMPLATE(class T) LLFIO_TREQUIRES(LLFIO_TEXPR(std size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">llfio_v2_xxx::utils::file_buffer_default_size</a> ()</td></tr>
+<tr class="memdesc:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Round a pair of a pointer and a size_t to their nearest page size multiples. The pointer will be rounded down, the size_t upwards. <a href="namespacellfio__v2__xxx_1_1utils.html#a83420c7c9af03ca93d5ed029c34d5dd6">More...</a><br /></td></tr>
+<tr class="separator:a83420c7c9af03ca93d5ed029c34d5dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae61e2de30b06776a1c24643a1d1dc64e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a> (char *buffer, size_t bytes) noexcept</td></tr>
<tr class="memdesc:ae61e2de30b06776a1c24643a1d1dc64e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API. <a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">More...</a><br /></td></tr>
<tr class="separator:ae61e2de30b06776a1c24643a1d1dc64e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -158,6 +152,9 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044">llfio_v2_xxx::utils::running_under_wsl</a> () noexcept</td></tr>
<tr class="memdesc:a7aae80908cc5521ef67234152c5c5044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this POSIX is running under Microsoft's Subsystem for Linux. <br /></td></tr>
<tr class="separator:a7aae80908cc5521ef67234152c5c5044"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="memItemLeft" align="right" valign="top">result&lt; process_memory_usage &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">llfio_v2_xxx::utils::current_process_memory_usage</a> () noexcept</td></tr>
+<tr class="memdesc:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the current memory usage statistics for this process. <a href="namespacellfio__v2__xxx_1_1utils.html#a5a2d8f932686b4c35a67a6aa972b4e92">More...</a><br /></td></tr>
+<tr class="separator:a5a2d8f932686b4c35a67a6aa972b4e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf1b1646f257d85f7f2655df1042483f"><td class="memItemLeft" align="right" valign="top"><a id="acf1b1646f257d85f7f2655df1042483f"></a>
large_page_allocation&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::utils::detail::calculate_large_page_allocation</b> (size_t bytes)</td></tr>
<tr class="separator:acf1b1646f257d85f7f2655df1042483f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -173,7 +170,7 @@ template&lt;class T , class U &gt; </td></tr>
<tr class="separator:ae880ebd5681dcf6b700d67fb10b4547e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Provides namespace utils. </p>
+<div class="textblock"><p>Provides namespace utils </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -182,7 +179,7 @@ template&lt;class T , class U &gt; </td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="utils_8hpp.html">utils.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/utils_8hpp.js b/utils_8hpp.js
index ff614386..5a3cf0f0 100644
--- a/utils_8hpp.js
+++ b/utils_8hpp.js
@@ -1,22 +1,22 @@
var utils_8hpp =
[
+ [ "process_memory_usage", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage.html", "structllfio__v2__xxx_1_1utils_1_1process__memory__usage" ],
[ "page_allocator", "classllfio__v2__xxx_1_1utils_1_1page__allocator.html", "classllfio__v2__xxx_1_1utils_1_1page__allocator" ],
[ "rebind", "structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html", "structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind" ],
[ "page_allocator< void >", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html", "classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4" ],
[ "rebind", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html", "structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind" ],
[ "allocate_large_pages", "utils_8hpp.html#a85afc40cff0ecfd3a13520ea7e5176a1", null ],
[ "calculate_large_page_allocation", "utils_8hpp.html#acf1b1646f257d85f7f2655df1042483f", null ],
+ [ "current_process_memory_usage", "utils_8hpp.html#a5a2d8f932686b4c35a67a6aa972b4e92", null ],
[ "deallocate_large_pages", "utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb", null ],
[ "drop_filesystem_cache", "utils_8hpp.html#abacefaf60ae391226c4775cf8a61276a", null ],
- [ "file_buffer_default_size", "utils_8hpp.html#a90d8f94ddb6e026f931e86d0dc904778", null ],
+ [ "file_buffer_default_size", "utils_8hpp.html#a83420c7c9af03ca93d5ed029c34d5dd6", null ],
[ "flush_modified_data", "utils_8hpp.html#ae1d9ee5d6d391f39f62dacbc8c957ae8", null ],
[ "operator==", "utils_8hpp.html#ae880ebd5681dcf6b700d67fb10b4547e", null ],
[ "page_size", "utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba", null ],
- [ "page_sizes", "utils_8hpp.html#a6c41e314d4d4b8362b96a3b4c1c363f5", null ],
[ "random_fill", "utils_8hpp.html#ae61e2de30b06776a1c24643a1d1dc64e", null ],
[ "random_string", "utils_8hpp.html#a6a29cf29a4b097411f6c1e5274bfb417", null ],
[ "round_down_to_page_size", "utils_8hpp.html#a5499feaf6b774e774a26e7decd11e3fa", null ],
- [ "round_to_page_size", "utils_8hpp.html#afa36e8bc2a1f004696c09d104e23d685", null ],
[ "round_up_to_page_size", "utils_8hpp.html#a67f8f31f6b93293a22a4b30d686eb3af", null ],
[ "running_under_wsl", "utils_8hpp.html#a7aae80908cc5521ef67234152c5c5044", null ]
]; \ No newline at end of file
diff --git a/v2_80_2llfio_8hpp.html b/v2_80_2llfio_8hpp.html
index eaaba079..45e1aea8 100644
--- a/v2_80_2llfio_8hpp.html
+++ b/v2_80_2llfio_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/llfio.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('v2_80_2llfio_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('v2_80_2llfio_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,27 +88,30 @@ $(document).ready(function(){initNavTree('v2_80_2llfio_8hpp.html','');});
<div class="title">llfio.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>The master <em>versioned</em> LLFIO include file. All version specific LLFIO consuming libraries should include this header only.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stat_8hpp.html">stat.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp.html">utils.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="directory__handle_8hpp.html">directory_handle.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="statfs_8hpp.html">statfs.hpp</a>&quot;</code><br />
+<code>#include &quot;dynamic_thread_pool_group.hpp&quot;</code><br />
<code>#include &quot;<a class="el" href="fast__random__file__handle_8hpp.html">fast_random_file_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="process__handle_8hpp.html">process_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="statfs_8hpp.html">statfs.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="symlink__handle_8hpp.html">symlink_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="clone_8hpp.html">algorithm/clone.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="contents_8hpp.html">algorithm/contents.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="cached__parent_8hpp.html">algorithm/handle_adapter/cached_parent.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="reduce_8hpp.html">algorithm/reduce.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="atomic__append_8hpp.html">algorithm/shared_fs_mutex/atomic_append.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="byte__ranges_8hpp.html">algorithm/shared_fs_mutex/byte_ranges.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="lock__files_8hpp.html">algorithm/shared_fs_mutex/lock_files.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="safe__byte__ranges_8hpp.html">algorithm/shared_fs_mutex/safe_byte_ranges.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="mapped_8hpp.html">mapped.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="summarize_8hpp.html">algorithm/summarize.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="xor_8hpp.html">algorithm/handle_adapter/xor.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="memory__map_8hpp.html">algorithm/shared_fs_mutex/memory_map.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="trivial__vector_8hpp.html">algorithm/trivial_vector.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="mapped_8hpp.html">mapped.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
@@ -150,7 +155,7 @@ Macros</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="v2_80_2llfio_8hpp.html">llfio.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/version_8hpp.html b/version_8hpp.html
index 8672e319..caa510ec 100644
--- a/version_8hpp.html
+++ b/version_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/version.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('version_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('version_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -86,9 +88,6 @@ $(document).ready(function(){initNavTree('version_8hpp.html','');});
<div class="title">version.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Controls the version of LLFIO for cmake, shared library and C++ namespace mangling.
-<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
@@ -131,7 +130,7 @@ Macros</h2></td></tr>
<tr class="separator:a7b08237a3cfed4832068a4daa6d6e160"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Controls the version of LLFIO for cmake, shared library and C++ namespace mangling. </p>
+<div class="textblock"><p>Controls the version of LLFIO for cmake, shared library and C++ namespace mangling </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
@@ -140,7 +139,7 @@ Macros</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="version_8hpp.html">version.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
diff --git a/xor_8hpp.html b/xor_8hpp.html
index 60654c42..680702ea 100644
--- a/xor_8hpp.html
+++ b/xor_8hpp.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: include/llfio/v2.0/algorithm/handle_adapter/xor.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('xor_8hpp.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('xor_8hpp.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -87,9 +89,6 @@ $(document).ready(function(){initNavTree('xor_8hpp.html','');});
<div class="title">xor.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
-
-<p>Provides <code>xor_handle_adapter</code>.
-<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="combining_8hpp.html">combining.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@@ -118,7 +117,7 @@ Typedefs</h2></td></tr>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html">llfio</a></li><li class="navelem"><a class="el" href="dir_ff8d8ad368a820031e12dd9b12d79036.html">v2.0</a></li><li class="navelem"><a class="el" href="dir_2e3f7bf739bad988e6850471c071ba11.html">algorithm</a></li><li class="navelem"><a class="el" href="dir_1bdb7a6f6f947180459b1da442728237.html">handle_adapter</a></li><li class="navelem"><a class="el" href="xor_8hpp.html">xor.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>